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

Вниз

Как в ListBox-e рисовать разные значки?   Найти похожие ветки 

 
tytus   (2004-12-07 11:04) [0]

Добрый день всем. В процедуре ListBoxDrawItem рисую:
IL1.Draw(LB1.Canvas,Rect.Left,Rect.Top,0);// IL-ImageList
Мне нужно для одного итема листбокса нарисовать другой значек. Когда меняю индекс значка в IL.Draw , то перерисовуются все значки. Подскажите как с этим бороться.


 
ЮЮ ©   (2004-12-07 11:13) [1]

так ты ставь индекс значка тот, который ты ассоциируещь с рисуемой в данный момент строкой (этот код рисования для каждой строки строки один)


 
tytus   (2004-12-07 11:20) [2]

>ЮЮ
procedure TTgListFm.LB1DrawItem(Control: TWinControl; Index: Integer;
 Rect: TRect; State: TOwnerDrawState);
begin

with LB1.Canvas do
begin
 FillRect(Rect);
 IL1.Draw(LB1.Canvas,Rect.Left,Rect.Top,0);//?????????
 TextOut(Rect.Left+16,Rect.Top,LB1.Items[index]);
end;
end;
Добавляю новый итем, индекс его знаю, а если меняю в Draw 0 на 1(всего два значка), то перерисовываются ВСЕ значки...


 
ЮЮ ©   (2004-12-07 11:26) [3]

procedure TTgListFm.LB1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
  imageIndex: integer;
begin

with LB1.Canvas do
begin
 FillRect(Rect);
 if Index = 0 then  imageIndex:= 0 else  imageIndex:= 1;
 IL1.Draw(LB1.Canvas,Rect.Left,Rect.Top, imageIndex);
 TextOut(Rect.Left+16,Rect.Top,LB1.Items[index]);
end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
3-1100162755
PereZ
2004-11-11 11:45
2004.12.19
Компонент для DBF


14-1101840061
aga
2004-11-30 21:41
2004.12.19
?реклама на сайте?


1-1102324352
Provodnick
2004-12-06 12:12
2004.12.19
В Image повторно загруженный рисунок не отображается!


14-1101500871
syte_ser78
2004-11-26 23:27
2004.12.19
Помогите с фильтром


1-1102432913
_Дельфин_
2004-12-07 18:21
2004.12.19
Как создать архиватор?