
- •Введение
- •Компонент TToolBar
- •Кнопки
- •Значки на кнопках
- •Надписи на кнопках
- •Разделительные линии
- •Кнопки-переключатели
- •Обработка нажатий кнопок
- •Подсказки к кнопкам
- •Управление видимостью панели кнопок
- •Компонент TControlBar
- •Механизм причаливания
- •Список команд. Компонент TActionList.
- •Создание списка команд
- •Команды. Компонент TAction.
- •Caption
- •Привязка команд
- •Реакция на команды
- •Задания к лабораторной работе
- •Вопросы к лабораторной работе
- •Справочные таблицы
- •Приложение А
- •Приложение Б
Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»
Щелчком на первой кнопке добавьте в список новую команду. Свойства команды немедленно появятся в окне свойств.
Команды. Компонент TAction.
При создании очередной команды в компоненте TActionList, среда Delphi добавляет в описание формы компонент TAction. Компонент TAction не существует отдельно от компонента TActionList, и поэтому отсутствует в палитре компонентов. Важнейшие свойства компонента TActionList приведены в таблице 6.
Таблица 6 – Свойства компонента TAction
Свойство |
Описание |
|
|
AutoCheck |
Если равно значению True, то выполнение команды (вызов метода |
|
Execute) автоматически приводит к изменению значения свойства |
|
Checked на противоположное. Если равно значению False, то |
|
изменением состояния свойства Checked управляет сам |
|
программист. |
Caption |
Заголовок команды. |
Category |
Категория команды. |
Checked |
Если равно значению True, то команда считается выбранной. В |
|
этом случае связанные с командой пунткы меню содержат метку, а |
|
кнопки имеют вдавленный вид. |
Enabled |
Определяет, доступна ли команда пользователю. |
GroupIndex |
Команды с одинаковым положительным значением GroupIndex |
|
согласовано переключают свойство Checked – установка у одной |
|
команды свойства Checked в значение True приводит к установке |
|
его в значение False в других командах. |
ImageIndex |
Номер значка в списке Images компонента ActionList. Значок |
|
отображается рядом с текстом пункта меню (см. параграф 8.1.12). |
|
Отрицательное значение свойства ImageIndex говорит о том, что |
|
для пункта меню значок не задан. Свойство ImageIndex имеет |
|
приоритет над свойством Bitmap. |
SecondaryShortCuts |
Дополнительные комбинации клавиш. |
ShortCut |
Комбинация клавиш для выполнения команды. |
Visible |
Определяет, видна ли пользователю команда. |
OnExecute |
Происходит при выполнении команды. |
OnHint |
Происходит в момент появления всплывающей подсказки. |
OnUpdate |
Происходит при выполнении команды и периодически во время |
|
простоя программы. Позволяет отслеживать и изменять состояние |
|
команды. |
|
|
Создайте команду actOpen и задайте ее свойства как показано на рисунке 23.

Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»
Рисунок 23 – Установка компонента actOpen
Создайте еще несколько команд (actSave, actExit, actSheme1, actSheme2) и задайте их свойства согласно таблице 7.
Таблица 7 – Свойства команд |
|
|
|
|
|
Свойство |
actSave |
actExit |
|
actSheme2 |
|
|
|
|
|
|
|
Caption |
Сохранить… |
Выход |
|
Схема 2 |
|
Hint |
Сохранить|Сохранить |
Выход|выход из |
|
Схема |
|
|
файл |
программы |
|
2|Установить |
|
|
|
|
|
нестандартную |
|
|
|
|
|
цветовую схему |
|
ImageIndex |
|
|
|
|
|
|
|
|
|
|
|
ShortCut |
– |
Alt+X |
|
– |
|
AutoCheck |
|
|
|
|
|
– |
– |
|
True |
||
GroupIndex |
– |
– |
|
1 |
|
Checked |
– |
– |
|
False |
|
|
|
|
|
|
|
Привязка команд
Кнопки, пункты меню и некоторые другие визуальные компоненты имеют свойство Action, с помощью которого к ним «привязываются» команды. В результате установки свойства Action визуальный компонент копирует к себе значения свойств команды (надпись, значок, подсказку и др.). Кроме того, команда запоминает, к каким компонентам

Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»
она привязана с тем, чтобы изменение свойств команды вызывало изменение соответствующих свойств во всех связанных с ней компонентах.
Привязку команд начните с кнопки btnOpen на панели инструментов. Выделите ее, и в раскрывающемся списке свойства Action выберите значение actOpen (Рисунок 24).
Рисунок 24 – Назначение команда actOpen кнопке панели инструментов btnOpen
Аналогичным образом назначьте команды (actSave, actExit, actSheme1, actSheme2) соответствующим кнопкам панели инструментов, пунктам главного и контекстного меню.
Откомпилируйте и запустите программу. Вид окна программы приведен на рисунке
25.
Рисунок 25 – Вид окна программы после привязки команд
Обратите внимание, что все элементы управления, которым назначены команды, стали недоступны. Это объясняется отсутствием у компонентов TAction обработчика события
OnExecute.
Реакция на команды
Когда пользователь нажимает кнопку или выбирает пункт меню, происходит событие OnExecute. Если для команды не определен обработчик события OnExecute, то все компоненты, использующие эту команду, становятся недоступными (свойство Enabled устанавливается в значение False).
Создайте обработчик события OnExecute для компонента actOpen. Обратитесь к контекстному меню компонента ActionList и вызовите окно команд. В этом окне выберите команду actOpen, после чего в окне свойств выберите вкладку Events. Так как