Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

[ListBox] - убрать подсветку выделенного


oradb ©   (2005-09-06 13:31:00) 

Сам отрисовываю ListBox(Style=lbOwnerDrawFixed). При этом я сам хочу отрисовывать выделенный элемент. С этим тоже проблем нет:
if (odSelected in State) then ....
 Но, как убрать стандартную прямоугольную подсветку выделенного элемента ?


MBo   (2005-09-06 15:19:00) [1]

Ну чего же тут непонятного, если уж про odSelected известно?

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
 Rect: TRect; State: TOwnerDrawState);
begin
 if odSelected in State then begin
   Listbox1.Canvas.Brush.Color := Listbox1.Color;
   Listbox1.Canvas.Font.Color :=ListBox1.Font.Color;
 end;
 Listbox1.Canvas.FillRect(Rect);
 Listbox1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,ListBox1.Items[Index]);
end;


oradb   (2005-09-06 14:43:00) [2]

Скорее не рамку, а закрашенный прямоугольник.  По умолчанию голубой, ну а так, в зависимости от настроек Windows.


Antonn   (2005-09-06 14:31:00) [3]

рамку? я тоже хочу знать...


oradb   (2005-09-06 14:04:00) [4]

Недачно сформулировал вопрос ?  Или ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо