13.04.2006, 13:06
общий
это ответ
Здравствуйте, Ramil!
Ответ такой:
Изменяем сначало свойтво Style объекта ListBox примерно так:
ListBox1.Style:=lbOwnerDrawVariable;
А затем пишем такой обработчик на событие OnDrawItem:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with (Control as TListBox).Canvas do
begin
case Index mod 3 of
0: Font.Color := clBlue;
1: Font.Color := clRed;
2: Font.Color := clGreen;
end;
FillRect(Rect);
TextOut(Rect.Left, Rect.Top, (Control as TListBox).Items[Index]);
end;
end;
В данном примере строки перекрашиваются с периодим 3. (Blue,Red,Green,Blue,Red,Green,..........)