Este artigo descreve resumidamente como o Delphi implementa itens no Listbox para exibir cores diferentes de acordo com o conteúdo.
Altere a propriedade Style de ListBox1 para lbOwnerDrawVariable
No evento OnDrawItem do ListBox, altere a propriedade Canvas de acordo com o valor do item.
O código de exemplo é o seguinte:
procedimento TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TownerDrawState);begin //A fonte usa a cor padrão original if Odd(index) then //A cor quando o índice dos itens é ímpar número começa listbox1 .Canvas.Brush.Color:=clwindow; ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index end else]); //A cor quando o índice dos itens é um número par start listbox1.Canvas.Brush.Color:=clinactivecaptiontext ;ListBox1 .Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[índice]); odSelected in state then //Color quando selecionado start listbox1.Canvas.Brush.Color:=clhighlight ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]);