Elementos con diferentes colores en un ListBox

El control ListBox dispone de una propiedad, llamada Style, que nos permite seleccionar el estilo. Si elegimos el estilo lbOwnerDrawFixed el control genera un evento OnDrawItem cada vez que hay que dibujar un elemento. Esto nos permite personalizar la lista dibujando nosotros mismos los elementos, ya sea añadiendo una imagen junto al texto o, por ejemplo, dibujando cada elemento con un color diferente.

Si quieres ver un ejemplo da los siguientes pasos: inserta en un formulario un control ListBox, dale el valor lbOwnerDrawFixed a la propiedad Style, edita la propiedad Items y añade ocho o diez elementos. Abre la página de eventos y haz doble clic en el evento OnDrawItem, escribiendo el código siguiente:

With (Control As TListBox) Do
 Begin
      Canvas.Font.Color := RGB(Random(255), Random(255), Random(255));
      Canvas.TextRect(Rect, Rect.Left, Rect.Top, Items[Index]);
 end;

Al ejecutar el programa verás que cada elemento aparece con un color aleatorio. En la práctica serás tú el que indique el color según el significado del elemento.