Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы_Инф_Анг.doc
Скачиваний:
38
Добавлен:
20.11.2019
Размер:
5.19 Mб
Скачать

Лабораторная работа № 4 «Работа с компонентами ImageList, ComboBoxEx»

Невизуальный компонент ImageList предназначен для хранения в памяти последовательности (списка) небольших графических изображений формата BMP или ICO. Располагается этот компонент на вкладке Win32 палитры компонентов Delphi.

Создадим новое приложение. Перейдем на вкладку Win32 и поместим на форму компонент ImageList (Рис. 6).

Рис. 6. Редактируемая форма. Компонент ImageList1.

Двойным щелчком левой кнопки мыши над компонентом ImageList1 вызовем редактор списка графических изображений, хранящегося в этом компоненте. Изначально он пуст (Рис. 7). Для того чтобы поместить одно или сразу несколько изображений, необходимо нажать кнопку Add.

Примечание. Подходящие изображения можно найти по адресу Program Files\Common Files\Borland Shared\Images\Icons

После загрузки появится список с графическими изображениями. Как и все списки в Delphi, этот список начинается с нуля (Рис. 8).

Рис. 7. Редактор списка изображений компонента ImageList1.

В списке можно перетаскивать мышью изображения. Заменить (Replace), удалить (Delete), экспортировать (Export) изображение. Очистить список целиком (Clear).

Рис. 8. Редактор списка изображений компонента ImageList1.

После подтверждения все изображения сохранятся в файле формы DFM и не будут связаны с файлами, из которых они были загружены. Отредактировать список ImageList1 можно также в редакторе, который вызывается двойным щелчком левой кнопки мыши.

Сам по себе невизуальный компонент ImageList является лишь своеобразным хранилищем данных. Где в качестве данных выступают графические изображения, как правило, ширина и высота которых не превышает 32 px. В нашем случае не превышает 16 px.

Компонент ComboBoxEx. Одним из компонентов, который имеет возможность использовать данные списка ImageList, является визуальный компонент ComboBoxEx, располагающийся на той же вкладке Win32. Этот компонент подобен визуальному компоненту ComboBox, реализующему выпадающий список. Новый компонент ComboBoxEx отличается от обычного списка тем, что помимо строк, он может отображать графическое изображение для каждого элемента списка.

Продолжим разработку нашего приложения. Поместим на форму компонент ComboBoxEx (Рис. 9).

Рис. 9. Редактируемая форма. Компонент ComboBoxEx1.

Для того чтобы компонент ComboBoxEx1 знал откуда ему брать графические изображения для своих элементов, необходимо связать его с компонентом ImageList. Эту связь мы организуем при помощи диаграммы. Перейдем на окно редактора кода и выберем вкладку Diagram. Поместим в область Diagram из окна дерева объектов компоненты ImageList1 и ComboBoxEx1 (путем перетаскивания мышью). Расположим компонент ImageList1 выше компонента ComboBoxEx1 (Рис. 9).

Рис. 9. Окно редактора кода. Вкладка Diagram.

Выберем инструмент Property Connector (соединение компонента по свойству). Доведем указатель мыши в виде крестика до компонента ComboBoxEx1 и соединим с компонентом ImageList1 – установится связь (Рис. 10), Delphi автоматически запишет в свойство Images компонента ComboBoxEx1 значение ImageList1. Это означает, что ComboBoxEx1 будет использовать изображения из списка ImageList1.

Рис. 10. Окно редактора кода. Вкладка Diagram. Связь между компонентами.

Переходим к компоненту ComboBoxEx1. Создадим элементы списка. Для этого вызовем редактор свойства ItemsEx компонента ComboBoxEx1. С помощью кнопки в редакторе добавим три элемента (Рис. 11).

Рис. 11. Редактор свойства ItemsEx компонента ComboBoxEx.

Выделим первый элемент списка в редакторе (Рис.11) и свойству Caption элемента назначим значение «Строка1». В области значения свойства ImageIndex элемента выберем первое изображение, значение 0.

Для второго элемента установим:

  • Caption = Строка2

  • ImageIndex=1

Для третьего элемента установим:

  • Caption = Строка3

  • ImageIndex=2

Завершим работу с редактором свойства ItemsEx. Запустим приложение. На форме отображается компонент ComboBoxEx1, его содержимое: три элемента, содержащие текст и графическое изображение (Рис. 12).

Рис. 12. Приложение. Выпадающий список, реализованный на основе компонента ImageList1.