Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];

Вниз

Господа, как же сделать, чтобы в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.007 c
3-33916
danilka
2002-10-21 08:36
2002.11.11
Орокол 8.1.7 + Дельфи 5, хранимые процедуры в пакетах


4-34297
Morfey Cool
2002-09-14 23:39
2002.11.11
прoграмму мою вырубает скажем АВП


14-34242
Андрей Прокофьев
2002-10-23 16:40
2002.11.11
ABAB/4 APAP/4


1-33970
Z_man7777
2002-11-01 13:13
2002.11.11
Какой будет тип возвращаемый функцией?


1-34058
b-Ars
2002-10-24 12:29
2002.11.11
Как модально показать форму из DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский