![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ну помогите же!
f0rm © (2002-04-16 23:52:00)Блин. Может я тупой но немогу никак программно сделать нужный мне итем в литвьюве на красном фоне
ЗЫ: Отдельный Item listview"a закрасить отдельным цветом?
f0rm (2002-04-18 17:31:00) [1]
> В моем варианте была закраска итемов только тех у которых
> в Data 1 прописана, остальные будут по-молчанию рисоваться,
> я же не выставляю DefaultDraw в FALSE а проседурка эта вызывается
> перед каждой прорисовкой итема, т.ч. все будет так как тебе
> надо, у меня все это отлично работает и именно для отдельных
> итемов, ты попробуй...
Пришлось отдельным итемам задавать indent разный
exchoper (2002-04-18 11:14:00) [2]В моем варианте была закраска итемов только тех у которых в Data 1 прописана, остальные будут по-молчанию рисоваться, я же не выставляю DefaultDraw в FALSE а проседурка эта вызывается перед каждой прорисовкой итема, т.ч. все будет так как тебе надо, у меня все это отлично работает и именно для отдельных итемов, ты попробуй...
f0rm (2002-04-17 16:44:00) [3]
> в ListBox2DrawItem:
2Starkom: А причем тут tlistbox?
> procedure TfmMain.lvTestCustomDrawItem(Sender: TCustomListView;
> Item: TListItem; State: TCustomDrawState; var DefaultDraw:
> Boolean);
> var
2exchoper: Закрашивать все итемы и я могу, а мне нужно закрасить один или несколько
exchoper (2002-04-17 12:49:00) [4]procedure TfmMain.lvTestCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
NodeRect: TRect;
begin
with lvtest.Canvas do
begin
NodeRect := Item.DisplayRect(drBounds);
case integer(Item.Data) of
0 : Brush.Color:=clBlue;
else Exit; end;
FillRect(NodeRect);
end;
end;
exchoper (2002-04-17 12:48:00) [5]procedure TfmMain.lvTestCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
NodeRect: TRect;
begin
with lvLocsRes.Canvas do
begin
NodeRect := Item.DisplayRect(drBounds);
case integer(Item.Data) of
0 : Brush.Color:=clBlue;
else Exit; end;
FillRect(NodeRect);
end;
end;
Starkom (2002-04-17 11:56:00) [6]в ListBox2DrawItem:
if (odSelected in State) then
begin
ListBox2.Canvas.Pen.Color:=clHighLight;
ListBox2.Canvas.Brush.Color:=clHighLight;
ListBox2.Canvas.Font.Color:=clRed;
end;
ListBox2.Canvas.Rectangle(Rect);
ListBox2.Canvas.TextOut(Rect.Left, Rect.Top, ListBox2.Items[Index])
прямо код свой кинул - сам наверное разберешься, там просто
f0rm (2002-04-17 11:52:00) [7]Ну вот допустим у меня есть listview1.items[i] как мне сделать, чтобы при нажатии на копку фон этого итема зарисовывался красным цветом?
Ra (2002-04-17 05:56:00) [8]а в чем проблема?
ставим OwnerDraw=true и пишем обработчик события OnDrawItem