Главная страница
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.023 c
3-1100760278
Iova
2004-11-18 09:44
2004.12.19
Как получить информацию о полях таблицы


14-1101898281
_}|{yk_
2004-12-01 13:51
2004.12.19
Верховная Рада отправила правительство Януковича в отставку


14-1100470762
Homa_Programer
2004-11-15 01:19
2004.12.19
свой сайт


1-1102320062
Sveta_cc
2004-12-06 11:01
2004.12.19
Декомпилятор


14-1101976195
Knight
2004-12-02 11:29
2004.12.19
Есть простой редактор DOS-текстов?