Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

2 .3.8.5. Синхронизация объектов (ActionList)

Компонент содержит список объектов действий Action типа TAction (процедур), которые используются одновременно с другими объек­тами (например, процедура обработки нажатия кнопки и выбран­ного пункта меню). Основные свойства подобны свойствам меню. Проектирование этого объекта ведется редактором, который вызывается командой Action List Editor контекстного меню.

Специфичные события

OnExecute ‑ возникает при выборе объекта действия. В процедуре обработки этого события размещается код обработки события при выборе этого действия любым способом, включая программный.

OnUpdate ‑ возникает, когда приложение находится в режиме ожидания. Обычно в обработчике этого события размещается код обработки заблокированного объекта, связанного с объектом действия.

OnHint ‑ используется для вывода общей подсказки; при этом подсказки объектов, связанных с этим действием, отключаются. Если в свойстве Action объекта указать объект Action, то объект будет связан с указанным действием.

Пример: Button2.Action:=Action3; //при нажатии кнопки Button2

//выполняется процедура события OnExecute объекта действия Action3.

2 .3.8.6. События приложения (ApplicationEvents)

Компонент (панель Additional) позволяет обрабатывать события приложения на этапе проектирования в отличие от событий объ­екта Application (п.2.2.2.3) и имеет дополнительное событие On­Mes­sage, которое наступает при получении любого сообщения Windows, адресованного приложению. Параметр Msg:tagMsg содержит поле Message с кодом сообщения. Коды всех сообщений находятся в модуле Messages.

2.3.9. Структурированные компоненты

2.3.9.1. Панели инструментов (ToolBar)

П анель (панель Win32) является контейнером для создания инстру­ментальных панелей и имеет средства управления дочерними объ­екта­ми (обычно кнопками ToolButton). Панель автоматически при разме­ще­нии устанавливается у верхнего края формы.

Специфичные свойства панели

EdgeBorder ‑ составное свойство видимости сторон панели.

EdgeInner, EdgeOuter ‑ вид кромок с внутренней и внешней стороны.

ButtonWidth, ButtonHeight ‑ ширина и высота кнопок панели.

DisabledImages/Images/HotImages ‑ имя списка картин (ImageList), отобра­жающих состояние кнопок: отключенное/рабочее/мышка на кнопке.

Flat,Transparent ‑ стиль прозрачных кнопок и панели (True).

Indent,RowCount ‑ сдвиг левой границы в пикселях; число рядов кнопок.

List ‑ заголовки кнопок справа от кнопок (True), а не под ними (False).

ShowCaptions ‑ текстовые заголовки кнопок изображаются на панели (True).

Wrapable ‑ перенос кнопок на следующую строку короткой панели (True).

Кнопки создаются командой New Button из контекстного меню, хра­нят­ся в массиве Buttons, а их число находится в свойстве ButtonCount. Ко­ман­дой New Separator создается кнопка‑разделитель между группами кнопок.

Специфичные свойства кнопки панели

AllowAllUp ‑ все кнопки группы могут быть одновременно отжатыми.

Down ‑ состояние нажатой кнопки (True).

DropdownMenu ‑ ссылка на контекстное меню PopupMenu (кнопка‑меню).

Grouped ‑ кнопка входит в состав группы кнопок (True).

ImageIndex ‑ номер картинки из списка, на который ссылается панель.

Indeterminate ‑ разрешает (True) или запрещает (False) выбор кнопки.

Index ‑ порядковый номер кнопки.

Marked ‑ кнопка изображается как отключенная (покрыта сеткой).

MenuItem ‑ имя пункта меню, связанного с кнопкой.

Style ‑ тип кнопки: tbsButton (командная), tbsCheck (переключатель), tbsDropDown (меню), tbsSeparator (разделитель), tbsDivider (широкий раз­де­­литель в виде вертикальной черты).

Wrap ‑ следующая кнопка размещается на новой строке панели.

Общая схема создания панели: размещается и заполняется картинками (иконками) список ImageList; размещается панель и связывается со списком картинок через свойство Images; размещаются кнопки со ссылками на номера картинок из списка (свойство ImageIndex); разрабатываются процедуры обработки щелчков мыши по кнопкам.