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

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

Ну помогите же!


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


Наверх

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