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

Вниз

Господа, как же сделать, чтобы в ListBox е картинки разные были в   Найти похожие ветки 

 
NorthMan   (2002-11-01 15:11) [0]

разных строках? Я так делаю
With TCustomListBox(Control) Do
Begin
Canvas.FillRect(Rect);

Canvas.TextOut(Rect.Left + 2 + ImageList.Height, Rect.Top, Items[Index]);

Rect.Bottom:=Rect.Top + ImageList.Height;
Rect.Right :=Rect.Left + ImageList.Width;
Rect.Top:=Rect.Top+2;


Case ImpotentType Of

0 :ImageList.Draw(Canvas,Rect.Left,Rect.Top,0);

1 : ImageList.Draw(Canvas,Rect.Left,Rect.Top,1);

2 : ImageList.Draw(Canvas,Rect.Left,Rect.Top,2);


End; // Case

End; // With
Но картинки при перерисовке одинаковые.


 
MBo ©   (2002-11-01 15:15) [1]

а тип импотента меняется? ;)))


 
Андрей Прокофьев ©   (2002-11-01 15:15) [2]

ImpotentType может всегда один и тот же

PS
ImpotentType - представляю, что за картинки :))


 
NorthMan   (2002-11-01 15:23) [3]

Да ладно, нашли над чем поглумиться... В том-то и дело, что меняется. И картинки соответственно меняются, но везде одинаковые становятся, а импотент-то в каждой строке разный


 
Андрей Прокофьев ©   (2002-11-01 15:28) [4]

ImpotentType
Откуда он берется, где вычисляется? Не видно


 
NorthMan   (2002-11-01 15:33) [5]

ImpotentType - это глобальная переменная, значение ей присваивается до того, как вызывается Listbox1.Items.Add, так что сдесь все нормально вроде


 
Андрей Прокофьев ©   (2002-11-01 15:34) [6]

И вообще, все это написано в обработчике OnDrawItem?


 
Андрей Прокофьев ©   (2002-11-01 15:35) [7]

NorthMan (01.11.02 15:33)
см OnDrawItem!!!


 
NorthMan   (2002-11-01 15:38) [8]

Вот полный текст процедуры:

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
With TCustomListBox(Control) Do
Begin
Canvas.FillRect(Rect);

Canvas.TextOut(Rect.Left + 2 + ImageList.Height, Rect.Top, Items[Index]);

Rect.Bottom:=Rect.Top + ImageList.Height;
Rect.Right :=Rect.Left + ImageList.Width;
Rect.Top:=Rect.Top+2;


Case ImpotentType Of

0 :ImageList.Draw(Canvas,Rect.Left,Rect.Top,0);

1 : ImageList.Draw(Canvas,Rect.Left,Rect.Top,1);

2 : ImageList.Draw(Canvas,Rect.Left,Rect.Top,2);


End; // Case

End; // With



end;


 
Андрей Прокофьев ©   (2002-11-01 15:45) [9]

Предлагаю сделать вот так
Заполнение строк

Self.ListBox1.Items.Clear;

ImpotentType := 0;
Self.ListBox1.Items.AddObject("Ivanov", Pointer(ImpotentType));
ImpotentType := 1;
Self.ListBox1.Items.AddObject("Petrov", Pointer(ImpotentType));
Self.ListBox1.Items.AddObject("Sydorov", Pointer(ImpotentType));
ImpotentType := 2;
Self.ListBox1.Items.AddObject("Gates", Pointer(ImpotentType));
Self.ListBox1.Items.AddObject("SomeOne", Pointer(ImpotentType));

а в выводе строк

...
Case Integer(Items.Objects[Index]) Of
0 :ImageList1.Draw(Canvas,Rect.Left,Rect.Top,0);
1 : ImageList1.Draw(Canvas,Rect.Left,Rect.Top,1);
2 : ImageList1.Draw(Canvas,Rect.Left,Rect.Top,2);
end;
...


 
han_malign ©   (2002-11-01 15:57) [10]

Товарищи(Господа,Судари, etc)!!! зачем изголяться с OnDraw если в листе все реализовано:
TListItem.ImageIndex/TListView.LargeImages/TListView.SmallImages
для того он и нужен, что все реализованно в user32, тогда уж с DrawGrid - изголяться нужно.(Я делал ListViewLite на базе DrawGrid чтобы ресурсов меньше жралось и интерфейс попроще)


 
han_malign ©   (2002-11-01 15:58) [11]

Соррю очень сильно, не заметил Box


 
Андрей Прокофьев ©   (2002-11-01 16:01) [12]

2 han_malign © (01.11.02 15:57)
речь-то шла о ListBox"е


 
Andrey007   (2002-11-01 16:10) [13]

Да чего тупить-то? Ясное дело, что за время, пока идёт рисование, ImpotentType не меняется. Поэтому и картинка рисуется одна и та же.


 
NorthMan   (2002-11-01 16:13) [14]

Вот она истина! Спасибо Андрею Прокофьеву


 
Андрей Прокофьев ©   (2002-11-01 16:14) [15]

2 NorthMan (01.11.02 16:13)
Картинки вышлете? :))


 
NorthMan   (2002-11-01 17:43) [16]

2 Андрей Прокофьев
Вам картинки с Франклином или как? ;))


 
Андрей Прокофьев ©   (2002-11-01 17:49) [17]

2 NorthMan (01.11.02 16:13)
картинки разных типов импотентов из ImageList
(если Франклин - таковой, то и его!!!)
:))



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

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

Наверх




Память: 0.5 MB
Время: 0.027 c
14-34213
Bboy
2002-10-22 19:31
2002.11.11
Вопрос по Word у


1-34052
Alex
2002-10-30 21:23
2002.11.11
Координатная система TImage


3-33890
Fad
2002-10-22 14:11
2002.11.11
Ошибка в БД. Borland TUtility не помогает.


4-34300
grifon
2002-10-01 15:36
2002.11.11
Получение хандла текстового поля


3-33886
NeyroSpace
2002-10-22 16:50
2002.11.11
Как триггером прочитать из поля Blob sub_type 1 в VarChar()