Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как можно в KOLListBox и KOLComboBox добавить картинки?


Maxim Pushkar ©   (2003-07-14 23:53:00) 

Нужно в листбоксе и/или комбобоксе показать текстовый список параметров и слева рядом показывать картинкой какое-либо состояние. Как можно такое получить? (желательно как можно проще)


Maxim Pushkar   (2003-07-16 23:00:00) [1]

Пасиб. Счас буду пробовать.


Gandalf   (2003-07-16 09:28:00) [2]

Например так:

function TForm1.ComboBox1DrawItem(Sender: PObj; DC: HDC; const Rect: TRect;
 ItemIdx: Integer; DrawAction: TDrawAction;
 ItemState: TDrawState): Boolean;
var
 Ico: Integer;
 cbRect: TRect;
begin
 cbRect := Rect;
 FillRect(DC, cbRect, ComboBox1.Canvas.Brush.Handle);
 cbRect.Left := 20;
 DrawText(DC, PChar(ComboBox1.Items[ItemIdx]{ + D.VolList.Items[ItemIdx]}),
   -1, cbRect, DT_SINGLELINE or DT_VCENTER or DT_NOPREFIX);

 //== Icon 16x16
 if (odsComboboxEdit in ItemState) then
 begin // Edit
   cbRect.Top := 4;
   cbRect.Bottom := 20;
   cbRect.Left := 3;
   cbRect.Right := 19;
 end else
 begin // DropList
   cbRect.Left := 2;
   cbRect.Right := 18;
 end;

 ImageList1.StretchDraw(ItemIdx, DC, cbRect);
end;


Maxim Pushkar   (2003-07-15 23:14:00) [3]

А примеры рисования можно?. Или где хоть почитать можно?


Gandalf   (2003-07-15 09:30:00) [4]

Для комбо можно через DrawItem - рисуй что надо.


SPeller   (2003-07-15 04:10:00) [5]

ListBox - ListView, а вот как в комбобоксе - не знаю.


Наверх

Титульная страница Поиск, карта сайта Написать письмо