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

Вниз

ComboBox с иконками (рядом с выбираемыми значениями)   Найти похожие ветки 

 
Ago   (2002-09-30 15:00) [0]

Доброго времени суток! Подскажите как сделать сабж... я знаю, что надо играть на событии OnDrawItem, но мои попытки ни к чему не приводят:

У меня на форме ComboBox и ImageList

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
ImageList1.Draw(ComboBox1.Canvas, Rect.Left, Rect.Top, Index);
end;

Можно какой нибудь пример кода?


 
MBo ©   (2002-09-30 15:03) [1]

пример в хелпе по TListBox.OnDrawItem


 
Ago   (2002-09-30 15:49) [2]

Нет примера в хелпе... по крайней мере ни в D5 ни в D4.


 
MBo ©   (2002-09-30 15:57) [3]

в D5 есть.
Подробное руководство по использованию хелпа:
Help-Delphi Help - Указатель
Введите первые буквы...
Послушаемся и наберем ondrawi
в этот момент под OnDrawItem с изумлением видим слово example
Жмем стрелка вниз -Enter
О чудо!


 
Толик ©   (2002-09-30 16:53) [4]

обработчик OnDrawItem для TComboBox. В ComboBox1.Objects[i] лежат HICON, которые и надо рисовать.

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
const
IconWidth: longint = 16;
IconHeight: longint = 16;
var
Top_, Left_: longint;
begin
if(Control is TComboBox)then
with(Control as TComboBox) do begin
with(Items)do begin
Left_ := IconWidth;
Top_ := (ItemHeight - Canvas.TextHeight(Strings[Index])) div 2;
with(Rect)do
Canvas.TextRect(Rect, Left + Left_, Top + Top_, Strings[Index]);
Top_ := (ItemHeight - IconHeight) div 2;
Left_ := 0;
with(Rect)do
Windows.DrawIconEx(Canvas.Handle, Left + Left_, Top + Top_,
HICON(Objects[Index]), 0, 0, 0, Canvas.Brush.Handle, DI_NORMAL);
//end;//with
end;//with
end;//with
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-31822
Эрик
2002-09-27 17:30
2002.10.10
У кого есть Delphi 6 servise pack 2?


8-31915
Кутузов Александр
2002-05-29 14:42
2002.10.10
Где достать исходники winamp/mp3 под delphi 5


7-32027
ga3
2002-08-01 02:33
2002.10.10
помогите плиз с IE, замучился уже.


1-31709
Ne0N
2002-09-30 19:09
2002.10.10
Как создать файл собственного типа?


1-31864
Smart
2002-09-21 15:17
2002.10.10
Как удалить файлы так, как это делает система - т.е. сама винда