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

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

отрисовка комбобокса с иконками - как выделить иконки ? [D6]


nali ©   (2007-02-12 14:49:00) 

Делаю отрисовку элементов списка комбобокса через DrawItem,
c иконками.
Подскажите, как сделать картинку в битмапе с оттенком цвета
выделения. Надо чтобы в комбобоксе при прорисовке выделенного элемента иконка была под цвет выделения, а то некрасиво смотрится.
Вот текст drawitem:


procedure TForm1.ComboBox3DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
bm:TBitmap;
begin
 ComboBox3.Canvas.FillRect(Rect);  
ComboBox3.Canvas.TextOut(17+Rect.Left,Rect.Top,ComboBox3.Items[index]);
 bm:=TBitmap.create;
 bm.Width:=TIcon(ComboBox3.Items.Objects[Index]).Width;
 bm.Height:=TIcon(ComboBox3.Items.Objects[Index]).Height;
 DrawIcon(bm.Canvas.Handle ,0,0,TIcon(ComboBox3.Items.Objects[Index]).Handle);
 bm.Canvas.StretchDraw(classes.rect(0,0,16,16),bm);
 ComboBox3.Canvas.CopyRect(classes.rect(0,rect.top,16,rect.top+16),bm.canvas,classes.rect(0,0,16,16));
 bm.Free;
end;


Хотелось бы с кодом примерчик.

И еще вопрос:
Как  бы сделать combobox с возможностью отрисовки элементов списка и с возможностью редактирования текса. На ум приходит только кинуть поверх комбобокса едит без бордюра  и выровнять его над текстом. Наверное так и сделаю.


Игорь Шевченко   (2007-02-12 15:04:00) [1]


> Как  бы сделать combobox с возможностью отрисовки элементов
> списка и с возможностью редактирования текса


Использовать ComboBoxEx


Наверх

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