Как поместить картинки в ComboBoxDelphi , Компоненты и Классы , СпискиКак поместить картинки в ComboBoxДелается это при помощи стиля ownerdraw, который присутствует в TComboBox. Нас интересуют два свойства этого стиля:
После того как стиль будет установлен на один из вышеперечисленных, то можно воспользоваться событием onDrawItem. Это событие возникает каждый раз, когда приложению необходимо нарисовать пункт в выпадающем списке (combo box). Событие определяется следующим образом:
Если выпадающему списку был присвоен стиль csOwnerDrawFixed, то всё, что надо сделать, это написать процедуру, которая будет рисовать битмап и текст в событии onDrawItem. Для выпадающего списка со стилем csOwnerDrawVariable необходимо пройти ещё одну дополнительную стадию. Заключается эта стадия в создании обработчика для события onMeasureItem. Это событие вызывается перед DrawItem, для того, чтобы Вы могли установить фактическую высоту для каждого элемента списка. Вот его определение:
От теории к практике Создайте новое приложение. Разместите на форме combobox и imagelist (если Вы используете delphi 1, то Вам прийдётся хранить битмапы каким-то другим способом). В Object Inspector установите следующие свойства: ComboBox1 -> Style -> csOwnerDrawFixed -> Чтобы мы могли контролировать рисованием элементов. ComboBox1 -> Items -> Здесь можно добавить любые строки, которые будут отображаться рядом с битмапами. Чтобы каждый элемент имел описание к картинке. ImageList1 -> Используйте редактор списка картинок (ImageList Editor) Добавьте битмапы в том порядке, в котором они будут отображаться в combobox, а так же проверьте, чтобы они были одного размера. Прозрачный цвет можно установить здесь же. Это картинки, которые появятся в выпадающем списке В заключение необходимо добавить следующий код для события onDrawItem:
Статья Как поместить картинки в ComboBox раздела Компоненты и Классы Списки может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросы:: 2015-02-06 19:19:58 :: re:Как поместить картинки в ComboBoxпользователь: юрий. все рисуется ,но как потом использовать нарисованное?Ибо при смене стиля программно на Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
|||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |