Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delphi.pdf
Скачиваний:
191
Добавлен:
24.02.2016
Размер:
6.84 Mб
Скачать

Рисунок 8.8. Разделительная линия в меню

Среда Delphi знает, что одиночный символ минуса в имени пункта меню означает разделитель и нарисует для пункта горизонтальную линию. Кстати, это не запрещает вам создавать пункты, имена которых начинаются со знака минус. Если вы запишите что-нибудь после знака минуса, то в имени пункта отобразится весь введенный текст.

8.1.6. Комбинации клавиш

Некоторым пунктам меню назначают комбинации клавиш (shortcut), чтобы выполнять команды, не открывая меню. Они ускоряют работу с приложением и популярны среди опытных пользователей. Названия комбинаций клавиш отображаются справа от текста соответствующих пунктов. Например, во многих программах команде меню File | Open...

назначается комбинация клавиш Ctrl+O.

Шаг 8. Чтобы назначить пункту комбинацию клавиш, активизируйте пункт в дизайнере меню, перейдите к окну свойств и выберите в списке значений свойства ShortCut требуемую комбинацию клавиш (рисунок 8.9). Если ее там нет, то введите название комбинации клавиш вручную.

344

Рисунок 8.9. Комбинация клавиш для активизации пункта меню

Внимание! Имейте в виду, что среда Delphi не отслеживает дублирование одной и той же комбинации клавиш для нескольких пунктов меню, за это отвечает программист.

8.1.7. Обработка команд меню

Впервом приближении меню готово и вам наверняка не терпится его опробовать. Давайте реализуем закрытие формы по команде Exit. Решение этой задачи сводится к обработке события OnClick компонента ExitMenuItem. Это событие возникает при выборе пользователем в меню пункта Exit.

Шаг 9. Итак, активизируйте в дизайнере меню пункт Exit и выберите в окне свойств вкладку Events. Теперь сделайте двойной щелчок мышью на значении события OnClick (рисунок 8.10).

345

Рисунок 8.10. Создание обработчика команды меню

В результате откроется редактор кода, обработчика события. Обработка команды Close, закрывающего форму (а заодно единственная форма):

в котором появится заготовка Exit сводится к вызову метода и приложение, поскольку это

procedure TPictureForm.ExitMenuItemClick(Sender: TObject); begin

Close;

end;

Подключение меню к форме выполняется с помощью свойства формы Menu. Отыскав его в окне свойств, вы обнаружите, что оно уже содержит идентификатор разработанного меню MainMenu, поэтому в данном случае для работы меню больше ничего не нужно.

Проверим, работает ли меню. Выполните компиляцию и запустите проект. На экране появится форма со строкой меню под заголовком. Выбор в меню любой команды кроме Exit безрезультатен. По команде Exit окно закроется и приложение завершится (рисунок 8.11).

346

Рисунок 8.11. Проверка работы команды Exit

8.1.8. Пункты-переключатели

Во многих программах существуют пункты меню, которые работают как переключатели. Если вы еще не сообразили, о чем идет речь, посмотрите на рисунок 8.12. В нашей программе переключателями удобно сделать пункты меню, отвечающие за отображение панели инструментов и строки состояния. Установка флажка щелчком пункта-переключателя показывает панель инструментов (или строку состояния), а снятие флажка — прячет. Рассмотрим, как программируется такое поведение.

Шаг 10. В строке главного меню создайте выпадающее меню View с

пунктами Toolbar (программное имя ToolBarMenuItem) и Status bar

(программное имя StatusBarMenuItem). Установите в последних двух пунктах свойство Checked в значение True. В пунктах меню появятся метки

(рисунок 8.12).

347

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]