Pregunta: | 6047 - COMO ADICIONAR IMAGENES A UN COMBO |
Autor: | Hector Collado Fenandez |
Estoy tratando de adicionarle un BMP o un ICO a un Combo pero no encuentro la forma, es decir he logrado incorporarle las imagenes, pero al adicionarle la imagen me borra el texto y no me muestra la barra de selección. Si tienes la solución te lo agradeceré infinitamente.
Gracias |
Respuesta: | Hugo Ortega Hernández |
hola....
puedes usar el evento OnDrawItem... lo primero que tienes que hacer es asignarle los bitmaps al combo.... lo puedes hacer desde un TImageList, desde archivos o como quieras.... el codigo basico es el siguiente: ComboBox1.Items.AddObject(Elemento, Bmp); donde Bmp es un objeto TBitMap valido obtenido de la fuente que quieras, y Elemento es la cadena que identifica al elemento del combo.... checate la ayuda del metodo addobject para mayor referencia... la idea es que a cada item se le asigna un TBitMap... una vez asignados, en el evento OnDrawItem haces algo parecido a: var c : TComboBox; ih : integer; begin c := Control as TComboBox; ih = c.ItemHeight; c.Canvas.FillRect(Rect); c.Canvas.StretchDraw( Bounds(Rect.Left + 2, Rect.Top, ih, ih), c.Items->Objects[Index]); TextOut(Rect.Left + ih + 6, Rect.Top, c.Items.Strings[Index]); end; bueno esa es la idea.... probablemente haya errores de sintaxis porque lo escibi directamente aqui.... ojala y te sirva... saludos.... |