Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Listbox

Автор: Артемий2 27.01.2007 22:04

Тут такой вопрос - как в ListBox изменить цвет выделения текста...никак не найду! blink.gif

Автор: Алена 27.01.2007 22:14

Изменить событие OnDrawItem:

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
With ListBox1 do begin

if odSelected in State then
Canvas.Brush.Color := clRed { <--- Теперь цвет highlighting-а будет красным }
else
Canvas.Brush.Color:=clWindow;

Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+2,Rect.Top,Items[Index]);
end;
end;


+ свойство Style для TListBox установить в LBOwnerDraw<...>

Кстати, это было в DRKB, по-моему...

Автор: Артемий2 27.01.2007 22:22

Жестко....
До:
Прикрепленное изображение
После:
Прикрепленное изображение
Желательно бы чтобы было как ДО но выделялась красным...

Автор: Артемий2 27.01.2007 22:34

Вопрос решен!

  With ListBox1 do begin
if odSelected in State then begin
Canvas.Brush.Color := clRed { <--- Òåïåðü öâåò highlighting-à áóäåò êðàñíûì }
end;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+2,Rect.Top,Items[Index]);
end;

Автор: Алена 27.01.2007 22:34

Тогда показывай, КАК ты делал такое представление ListBox-а...

Автор: Артемий2 27.01.2007 22:35

Все ок, спасиба