Исходники
Статьи
Языки программирования
.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; |
Форум Программиста
Новости Обзоры Магазин Программиста Каталог ссылок Поиск Добавить файл Обратная связь Рейтинги
|