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

Вниз

BitMap в ListBox-e   Найти похожие ветки 

 
tytus ©   (2004-01-26 15:49) [0]

Господа - просьба не игнорировать как в прошлый раз. Вопрос - как мне в ListBox-e рисовать разные изображения в разных Item-ах, как это сделано в примере VirtualViewer в ListView-e???


 
Юрий Зотов ©   (2004-01-26 15:54) [1]

См. TListBox.OnDrawItem.


 
Sirakuz ©   (2004-01-26 15:56) [2]

Style - csOwnerDrawFixed
Вот код, правда для комбобокса, но для листбокса будет почти тоже самое.
Изображения берёт из imageList"a

procedure TForm1.Combobox1DrawItem(
Control: TWinControl; Index: Integer; Rect: TRect;
State: TOwnerDrawState);
Var
bmp:TBitMap;
begin
Bmp:=TBitmap.Create;
Bmp.Width:=ImageList.Width;
Bmp.Height:=ImageList.Height;
With ComboBox1 do
Begin
ImageList.GetBitmap(index,Bmp);
if (odSelected in State)and(not(odComboBoxEdit in State)) then
Begin
Canvas.Brush.Color:=clNavy;
Canvas.Font.Color:=Color;
End else
Begin
Canvas.Brush.Color:=Color;
Canvas.Font.Color:=clNavy;
End;
Canvas.FillRect(Rect);
Canvas.Draw(rect.Left, rect.Top, Bmp);
Canvas.TextOut(rect.Left+ImageList.Width, (rect.Top+(rect.Bottom-rect.Top) shr 1)-Canvas.TextHeight(items[Index])shr 1, items[Index]);
End;
Bmp.Free;
end;


 
VAleksey ©   (2004-01-26 15:59) [3]

TListBox(Control).Canvas.FillRect(Rect);
ImageList1.Draw(TListBox(Control).Canvas,Rect.Left,Rect.Top,0);
TListBox(Control).Canvas.TextOut(Rect.Left + 40 ,Rect.Top,TListBox(Control).Items[Index]);


 
tytus ©   (2004-01-26 16:22) [4]

>Юрий Зотов.
Ок. А когда я в TListBox.OnDrawItem выполняю if условие then загружаю в битмап рисунок else загружаю в битмап другой рисунок , то ВСЕ рисунки в итемах меняются!!! на последний загруженный. А вот чтоб в каждом итеме - разный рисунок...


 
Юрий Зотов ©   (2004-01-26 16:27) [5]

> tytus © (26.01.04 16:22) [4]

Что где рисуете - то там и рисуется. Что ж еще можно сказать, не видя ни строчки кода?



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
1-16266
vl_chel
2004-01-17 15:00
2004.02.06
Список функций в DLL


1-16246
Stas
2004-01-26 16:12
2004.02.06
DLL


1-16329
CyberFreak
2004-01-24 22:23
2004.02.06
Incompatible types: regular procedure and method pointer


7-16768
InVariantian
2003-11-17 15:30
2004.02.06
Камера видеонаблюдения.


4-16805
Vemer
2003-11-23 17:27
2004.02.06
Как правильно сделать окно активным?