![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в ListBox программно поменять цвет выделенной строчки? [D7, XP]
Zilog © (2006-08-15 15:33:00)Как в ListBox программно поменять цвет выделенной строчки?
clickmaker (2006-08-15 17:25:00) [1]
> Zilog © (15.08.06 16:16) [6]
а самому по списку свойств пошариться? Это ж даже со стула вставать не надо...
Джо (2006-08-15 16:18:00) [2]> [6] Zilog © (15.08.06 16:16)
> OwnerDraw - нет там такого
Зато естьStyle := lbOwnerDrawFixed:) Сорри, это я по-памяти с TListView перепутал.
Zilog (2006-08-15 16:16:00) [3]OwnerDraw - нет там такого
Джо (2006-08-15 15:59:00) [4]> [4] Zilog © (15.08.06 15:56)
> пробовал и так - дело в том, что у меня ListBox1DrawItem
> не вызывается... ?
Читать [1] внимательно.
Zilog (2006-08-15 15:56:00) [5]пробовал и так - дело в том, что у меня ListBox1DrawItem не вызывается... ?
Джо (2006-08-15 15:37:00) [6]В таком роде:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with TListBox(Control).Canvas do
begin
if odSelected in State then
begin
Brush.Color := clActiveCaption;
Font.Color := clHighlightText;
end
else
begin
Brush.Color := clWindow;
Font.Color := clWindowText;
end;
ListBox1.Canvas. FillRect (Rect);
TextOut(Rect.Left,Rect.Top,TListBox(Control).Items[Index]);
end;
end;
Джо (2006-08-15 15:36:00) [7]> OnDraw
OnDrawItem, пардон.
Джо (2006-08-15 15:34:00) [8]> Zilog © (15.08.06 15:33)
> Как в ListBox программно поменять цвет выделенной строчки?
Использовать OwnerDraw := True и в событии OnDraw самому отрисовывать на канве.