PDA

Ver la Versión Completa : Listbox con items de colores


Bicho
13-06-2006, 09:09:42
Si queremos que un listbox, o un combobox tengan sus items de colores introducid este código al evento OnDrawItem del componente:


with (Control as TComboBox) do //with (Control as TListBox) do --según el componente que usemos
begin
//Los Items pares de color verde
//Los impares en rojo
if Odd(Index) then Canvas.Font.Color:=clGreen
else Canvas.Font.Color:=clRed;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left,Rect.Top,Items[Index]);
end;

Bicho
19-01-2007, 11:26:22
Añado dos cosas:

- En la propiedad Style del componente, hay que ponerla en OwnerDrawFixed

- Canvas.Font.Color cambia el color de la fuente del texto. Si queremos cambiar el color de fondo del texto, basta substituirlo por Canvas.Brush.Color

Saludos

xidqisx
19-01-2007, 12:41:02
Muchas gracias!
Ya lo he conseguido. El problema ahora es que al seleccionar un item, se selecciona en color azul y no se ve el texto. ¿Alguien sabe como hacer para que al seleccionar, se seleccione en color blanco?
Muchas gracias y perdón por repetir antes el hilo...upsss!