Добавил:
ikot.chulakov@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы по Delphi с готовыми программами / Лабораторная работа №19 Создание панели инструментов.pdf
Скачиваний:
25
Добавлен:
12.07.2020
Размер:
794.87 Кб
Скачать

Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»

Щелчком на первой кнопке добавьте в список новую команду. Свойства команды немедленно появятся в окне свойств.

Команды. Компонент 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. Так как