Listbox.
Podesiš mu style na lbOwnerDrawFixed.
A u OnDrawItem odradiš farbanje po svojoj želji.
Evo ti jednostavna primer koji farba tekst u svakoj trećoj liniji u zelenu, crvenu ili svetlo plavu.
Code:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with Control as TListBox do
begin
Canvas.FillRect(Rect);
case Index mod 3 of
0: Canvas.Font.Color := clGreen;
1: Canvas.Font.Color := clRed;
2: Canvas.Font.Color := clSkyBlue;
end;
Canvas.TextOut(Rect.Left + 2, Rect.Top, Items[Index]);
end;
end;
Ti naravno ne gledaš koja je linija po redu, nego kakav je tip poruke.
Easy?
viking ®