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

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

Окантовка в ComboBox [D6, Win95/98]


Atrion ©   (2004-12-21 09:48:00) 

Очень интересно как можно изменить вид окантовки при выделение строки в таком компоненте как ComboBox


Atrion   (2004-12-22 12:27:00) [1]

Проверим  может и работает....Не знал что Font.Color влияет на цвет рамки выделяемого обькта...


asvt   (2004-12-21 13:03:00) [2]


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 := clBlack;// Выделение черным
     Font.Color := clWhite;
   end
   else
     case index mod 4 of //четыре строки с чередованием
       0: begin
            Brush.Color := clRed;
            Font.Color := clWhite;
          end;
       1: begin
            Brush.Color := clAqua;
            Font.Color := clBlack;
          end;
       2: begin
            Brush.Color := clYellow;
            Font.Color := clBlack;
          end;
       3: begin
            Brush.Color := clLime;
            Font.Color := clBlack;
          end;
     end; { Case }

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

   If odFocused In State Then Begin
     InflateRect(Rect, -1, -1);
     DrawFocusRect(Rect);
   End;  
 End;
end;
procedure TForm1.ListBox1MeasureItem(Control: TWinControl; Index: Integer;
 var Height: Integer);
begin
Height := (Control As TListbox).ItemHeight + 2;
end;



Piter Below (Team)


Atrion   (2004-12-21 10:19:00) [3]

Вообщем сделал список с разноцветными строками (используя канву),только образовался один глюк - строки разного цветы выделяются разными по цвету окантовками....ну не ужели никто не знает как это сделать?


Наверх

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