Главная страница
    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.48 MB
Время: 0.008 c
1-34113
3asys
2002-10-30 14:51
2002.11.11
Программное создание ярлыка программы для рабочего стола


14-34172
AL2002
2002-10-21 13:41
2002.11.11
Задача.


3-33882
NeyroSpace
2002-10-22 16:14
2002.11.11
HELP! Никак не вставить в BLOB поле!


14-34180
Дремучий
2002-10-21 15:28
2002.11.11
сложная ли задача - понять закономерность?


14-34241
Beginner-Designer
2002-10-22 20:01
2002.11.11
Нужна компанента для C++ Builder по горячим клавишам





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский