
- •Лабораторные работы по курсу «Программирование»
- •Составил: Маврин с.А.
- •Общие сведения
- •«Среда разработки Borland Delphi 7»
- •Главное окно
- •Лабораторная работа №1 «Приложение. Модули и формы»
- •Демонстрационный пример
- •Следует запомнить!
- •Общее задание
- •Лабораторная работа № 2 «Компоненты для отображения и редактирования текста Label, Edit, Memo»
- •Пример решения задачи
- •Задачи по вариантам
- •Лабораторная работа № 3 «Класс tStrings. Компоненты для отображения списка строк ListBox, ComboBox»
- •Лабораторная работа № 4 «Работа с компонентами ImageList, ComboBoxEx»
- •Общее задание
- •Лабораторная работа № 5 «Компоненты-оболочки для специализированных окон диалогов»
- •Общее задание
- •Лабораторная работа № 6 «Компоненты – переключатели и флажки, их группирование»
- •Вопрос 1. С какого служебного слова начинается описание модуля в Object Pascal?
- •Вопрос 2. В Object Pascal служебное слово Inherited означает:
- •Вызов унаследованного метода;
- •Вопрос 3. В Turbo Pascal 7 в главной программе невозможно описание вида:
- •Общее задание
- •Лабораторная работа № 7 «Организация меню. Главное и контекстное меню. Компонент tActionList»
- •Лабораторная работа № 8 «Создание компонентов. Графический и оконный элемент управления»
- •Лабораторная работа № 9 «Использование готовых изображений. Компонент Image». «Создание простейших графических примитивов в Delphi»
- •Лабораторная работа № 10 «Компонент Timer Создание простейшей анимации»
- •Лабораторная работа № 11 Создание интерактивной обучающей системы с использованием мультимедийных возможностей Delphi
- •Список рекомендуемой литературы
Лабораторная работа № 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.