Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.07;
Скачать: CL | DM;

Вниз

Как в KOL сменить цвет выделенного эл. LIstBox а?   Найти похожие ветки 

 
phant   (2006-03-22 03:07) [0]

Необходимо сменить цвет выделенного эл. в LIstBox! Стандартный способ для VCL не работает! Или я, просто, чего-то не понимаю?


 
Vladimir Kladov   (2006-03-22 16:44) [1]

И какой там стандатный метод?


 
phant   (2006-03-24 03:00) [2]

Вот пример... Как грамотно его переделать для  KOL ???

procedure TListTest.ListBox1DrawItem(Control: TWinControl;
 Index: Integer; Rect: TRect; State: TOwnerDrawState);
const
 HighLight = "LINE";
var
 TempLine, TempText, TempHigh: string;
 TempLeft, TempTop, TempStart: Integer;
 OldColor: TColor;
begin
 with (Control as TListBox).Canvas do
 begin
   FillRect(Rect);
   TempLeft := Rect.Left + 3;
   TempTop := Rect.Top + 1;
   TempLine := (Control as TListBox).Items[Index];
   while TempLine > "" do
   begin
     TempStart := Pos(HighLight, AnsiUpperCase(TempLine));
     if TempStart > 0 then
     begin
       TempText := Copy(TempLine, 1, TempStart - 1);
       TempHigh := Copy(TempLine, TempStart, Length(HighLight));
       Delete(TempLine, 1, TempStart + Length(HighLight) - 1);
     end
     else
     begin
       TempText := TempLine;
       TempHigh := "";
       TempLine := "";
     end;
     if TempText > "" then
     begin
       TextOut(TempLeft, TempTop, TempText);
       Inc(TempLeft, TextWidth(TempText));
     end;
     if TempHigh > "" then
     begin
       OldColor := Font.Color;
       if odSelected in State then
         Font.Color := clYellow
       else
         Font.Color := clBlue;
       TextOut(TempLeft, TempTop, TempHigh);
       Inc(TempLeft, TextWidth(TempHigh));
       Font.Color := OldColor;
     end;
   end;
 end;
end;


 
Vladimir Kladov   (2006-03-24 18:31) [3]

А, тоде OnDrawItem. А я-то думал... Определить опцию OwnerDraw, назначить обработчик, рисовать все элементы самому - что же туту сложного.


 
phant   (2006-03-25 04:15) [4]

А примерчик можно??? Заранее спасибо!!!



Страницы: 1 вся ветка

Текущий архив: 2007.01.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.101 c
15-1166094425
dimonf
2006-12-14 14:07
2007.01.07
Нужен шаблон рекомендательного письма на английском языке


15-1166522933
zdm
2006-12-19 13:08
2007.01.07
HP предлагает драйвера для Windows Vista


2-1166528410
hgd
2006-12-19 14:40
2007.01.07
Перевод кода из VB


15-1166092041
Vlad Oshin
2006-12-14 13:27
2007.01.07
MySql и/или MSSQL Логи. Как делать?


11-1142886978
GMax
2006-03-20 23:36
2007.01.07
TabControl + Tab Key :)