Форум: "Основная";
Текущий архив: 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