![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как изменить цвет item'a в TCheckListBox? [D6, D7, WinXP]
Ukrainec © (2008-02-09 00:36:00)Собственно, сабж - Как изменить цвет item'a в TCheckListBox?
В TListBox изменяю цвет следующим образом:
procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with CheckListBox1 do
begin
Canvas.Brush.Color:=clSkyBlue;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+2,Rect.Top,Items[index]);
end;
end;
Германн (2008-02-09 02:16:00) [1]
> Ukrainec (09.02.08 01:47) [10]
>
> С чего это вдруг я врал?? В TListBox'e со стандартными настройками,
> цвет item'a нормально изменяется
>
Ты это сам проверял? В своём проекте? На своей Дельфи? На своём компьютере?
Ukrainec (2008-02-09 01:47:00) [2]С чего это вдруг я врал?? В TListBox'e со стандартными настройками, цвет item'a нормально изменяется
Германн (2008-02-09 01:45:00) [3]
> Ukrainec (09.02.08 01:37) [8]
>
> Спасибо за идею!
>
> Поставил свойство Style в lbOwnerDrawFixed - и всё стало
> на свои места!
>
Ой что-то ты врал в
> Ukrainec (09.02.08 01:12) [4]
>
> В TListBox цвет item'a меняется на Ура! А вот в TCheckListBox
> - не хочет меняться...
>
Я даже догадываюсь что.
Ukrainec (2008-02-09 01:37:00) [4]Спасибо за идею!
Поставил свойство Style в lbOwnerDrawFixed - и всё стало на свои места!
Ukrainec (2008-02-09 01:36:00) [5]Да, lbStandard
Германн (2008-02-09 01:31:00) [6]
> Ukrainec (09.02.08 01:15) [5]
Свойство Style в обоих случаях одинаковое?
Ukrainec (2008-02-09 01:15:00) [7]Извиняюсь... не так написал код в первом посте. Так правильней:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with ListBox1 do
begin
if FileExists(ENewPath.Text+ListBox1.Items.Strings[Index]) then
Canvas.Brush.Color:=clSkyBlue;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+2,Rect.Top,Items[index]);
end;
end;
Ukrainec (2008-02-09 01:12:00) [8]В TListBox цвет item'a меняется на Ура! А вот в TCheckListBox - не хочет меняться...
procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with CheckListBox1 do
begin
Canvas.Brush.Color:=clSkyBlue;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+2,Rect.Top,Items[index]);
end;
end;
Германн (2008-02-09 01:06:00) [9]
> Ukrainec (09.02.08 00:55) [2]
И что не получается?
Ukrainec (2008-02-09 00:55:00) [10]В DelphiWorld6
Германн (2008-02-09 00:47:00) [11]
> Ukrainec (09.02.08 00:36)
>
> Собственно, сабж - Как изменить цвет item'a в TCheckListBox?
>
>
> В TListBox изменяю цвет следующим образом:
>
> procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;
>
> Index: Integer; Rect: TRect; State: TOwnerDrawState);
> begin
> with CheckListBox1 do
> begin
> Canvas.Brush.Color:=clSkyBlue;
> Canvas.FillRect(Rect);
> Canvas.TextOut(Rect.Left+2,Rect.Top,Items[index]);
> end;
> end;
>
Откуда "надыбал" сей пример?