|
Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Как поместить картинки в Combo Box.Делается это при помощи стиля ownerdraw, который присутствует в TComboBox. Нас интересуют два свойства этого стиля:
После того как стиль будет установлен на один из вышеперечисленных, то можно воспользоваться событием onDrawItem. Это событие возникает каждый раз, когда приложению необходимо нарисовать пункт в выпадающем списке (combo box). Событие определяется следующим образом: procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Если выпадающему списку был присвоен стиль csOwnerDrawFixed, то всё, что надо
сделать, это написать процедуру, которая будет рисовать битмап и текст в событии
onDrawItem.
От теории к практике
В заключение необходимо добавить следующий код для события onDrawItem: procedure TForm1.ComboBox1DrawItem(Control: TWinControl;
Index:Integer;
Rect: TRect;
State: TOwnerDrawState);
begin
(* Заполняем прямоугольник *)
combobox1.canvas.fillrect(rect);
(* Рисуем сам битмап *)
imagelist1.Draw(comboBox1.Canvas,rect.left,rect.top,Index);
(* Пишем текст после картинки *)
combobox1.canvas.textout(rect.left+imagelist1.width+2,rect.top,
combobox1.items[index]);
end;
|
Форум Программиста
Новости
Обзоры
Магазин Программиста
Каталог ссылок
Поиск
Добавить файл
Обратная связь |