![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ListView [D6]
Ламонов Олег © (2007-05-12 16:47:00)Уважаемые мастера.
Скажите, как изменить Canvas.Brush 0 колонки в ListView.
То есть, где по умолчанию рисуются checkbox или пиктограммы ImageList.
Все кроме 0,он изменяет, а ее не хочет.
Спасибо.
{RASkov} (2007-05-12 19:30:00) [1][3] Тоже самое, я не обновил ветку перед отправкой поста)
{RASkov} (2007-05-12 19:28:00) [2]> [2] Ламонов Олег (12.05.07 19:13)
procedure TForm1.ListView1 AdvancedCustomDrawSubItem(
Sender: TCustomListView; Item: TListItem; SubItem: Integer;
State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
if (Item.Index=2) and (SubItem=2) then Sender.Canvas.Brush.Color:=clRed else Sender.Canvas.Brush.Color:=clWhite;
end;
DVM (2007-05-12 19:26:00) [3]
> Ламонов Олег (12.05.07 19:13) [2]
CustomDraw SubItem() ?
Ламонов Олег (2007-05-12 19:13:00) [4]Для более понятного примера.
Как получить, например, доступ к 3 строке и 3 колонки и закрасить ее красным?
Вообще, как достать Rect у Item?
если рисовать стандартно, что-то не так:
procedure TListRecords_f.BookCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
i:Integer;
begin
if Item = nil then
Exit;
i := Item.Index;
if i = 3 then
Sender.Canvas.brush.Color := clRed
else
Sender.Canvas.brush.Color := clwhite;
end;
Юрий Зотов (2007-05-12 18:45:00) [5]У колонок нет кисти, она одна для всего ListView. Скорее всего, что-то Вы не так рисуете.