Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программирования на Delphi.doc
Скачиваний:
0
Добавлен:
01.01.2020
Размер:
5.09 Mб
Скачать

8.5.9. Управление видимостью панели кнопок

Шаг 71. Обработка команд View | Toolbar и View | Status bar выполняется на удивление просто — у соответствующей панели изменяется значение булевского свойства Visible на противоположное. При этом панель исчезает или появляется в окне вместе с изменением значения свойства. Проще не придумаешь! Окончательный вариант обработчиков будет следующим:

procedure TPictureForm.ToolBarMenuItemClick(Sender: TObject);

begin

ToolBar.Visible := not ToolBar.Visible;

ToolBarMenuItem.Checked := not ToolBarMenuItem.Checked;

end;

procedure TPictureForm.StatusBarMenuItemClick(Sender: TObject);

begin

StatusBar.Visible := not StatusBar.Visible;

StatusBarMenuItem.Checked := not StatusBarMenuItem.Checked;

end;

Итак, приложение для просмотра графических файлов обладает полным набором функциональных возможностей. Выполните его компиляцию и посмотрите, как исчезают и появляются панель инструментов и строка состояния при выборе в меню View соответствующих команд.

Глава 8. Меню, строка состояния и панель инструментов. Часть IV

Кирилл Сурков Александр Вальвачев, Дмитрий Сурков, Юрий Четырько дата публикации 20-03-2006 07:31

Версия для печати

урок из цикла: Учебное пособие по программированию на языке Delphi

предыдущий урок

содержание семинара

следующий урок

8.6. Список команд

Часто одна и та же команда дублируется в разных местах пользовательского интерфейса: и в главном меню, и в контекстном меню, и на панели инструментов. Например, команды управления масштабом рисунка присутствуют во всех перечисленных местах программы Picture Viewer. Это очень удобно для пользователя, но добавляет работы программисту, поскольку изменение команды в одном месте требует таких же изменений во всех других местах. На помощь приходит компонент ActionList, который централизованно управляет всеми командами пользовательского интерфейса. Рассмотрим его использование.

8.6.1. Создание списка команд

Отыщите в палитре компонентов на вкладке Standard компонент ActionList и добавьте его в форму (рисунок 8.75).

Рисунок 8.75. Компонент ActionList

Дайте компоненту имя ActionList (рисунок 8.76).

Рисунок 8.76. Компонент ActionList на форме

Ознакомьтесь со свойствами компонента ActionList в таблице 8.17.

Свойство

Описание

Images

Список значков, отображаемых в компонентах, использующих команды. Свойство Images используется совместно со свойством ImageIndex компонентов Action.

State

Позволяет временно запретить выполнение всех команд списка. Возможные значения:

asNormal

команды работают в обычном режиме и доступность каждой команды определяется значением свойства Enabled в соответствующем компоненте Action;

asSuspended

все команды недоступны, но при этом не затрагиваются свойства Enabled в компонентах Action;

asSuspendedEnabled

все команды недоступны, но имеют обычный вид благодаря тому, что свойство Enabled каждого компонента Action устанавливается в значение True.

OnChange

Происходит при модификации команд в списке. Однако не происходит при создании и уничтожении команд.

OnExecute

Происходит при выполнении команды.

OnStateChange

Происходит при изменении свойства State. Следует учитывать, что из-за ошибки в библиотеке VCL событие не происходит при переводе свойства State в значение asSuspended.

OnUpdate

Происходит при выполнении команды и периодически во время простоя программы. Позволяет отслеживать и изменять состояния команд.

Таблица 8.17. Важнейшие свойства и события компонента ActionList

Шаг 72. Создание списка команд начнем с команды Open. В контекстном меню компонента ActionList выберите команду Action List Editor… (рисунок 8.77).

Рисунок 8.77. Вызов списка команд из контекстного меню компонента ActionList

Перед вами откроется окно команд (рисунок 8.78).

Рисунок 8.78. Окно команд компонента ActionList

Окно команд работает в паре с окном свойств. Создание и удаление команд осуществляется в окне команд, а свойства отдельно взятой команды устанавливаются в окне свойств (рисунок 8.78).

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