Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
8 Виз и невиз комп. формы..doc
Скачиваний:
4
Добавлен:
27.10.2018
Размер:
584.7 Кб
Скачать

1.1. Компоненты главного и всплывающего меню

Компонент MainMenu представляет главное меню формы. В нем есть меха­низм объединения меню активных форм приложения. Если в приложении есть несколько форм со своими меню, то для упрощения работы целесообразно объе­динять их в одно и управлять им из главной формы. Объединение меню необхо­димо при работе с интерфейсом MDI и его подокнами. Для того чтобы объеди­нить меню, у тех форм, меню которых будут присоединены к главному, надо установить значение True для свойства автоматического объединения меню:

property AutoMerge: Boolean;

Компонент PopupMenu описывает всплывающее (контекстное) меню. В от­личие от главного, всплывающее меню может быть у самой формы и у каждого визуального компонента на форме.

Всплывающее меню появляется от нажатия правой кнопки мыши на компо­ненте, к которому присоединено всплывающее меню. Для этого надо установить в свойство PopupMenu имя всплывающего меню из выпадающего списка свой­ства. Одно и то же всплывающее меню могут разделять (использовать) несколь­ко компонентов.

1.2. TMenuItem - компонент пункта меню. Подменю, команда

Компонент TMenuItem является основой системы меню в Delphi. Его нет в Палитре компонентов: он входит в состав компонентов типа TMainMenu и TPopupMenu. Рассмотрим основные свойства этого компонента.

Текст наименования пункта меню определяется свойством:

property Caption: string;

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

Акселератор - это символ '&' со следующим за ним символом. Акселератор позволяет выбрать пункт меню нажатием клавиши Alt+символ, перед которым стоит '&'. Например, для строки «&File» нажатие клавиш Alt+F означает выбор этого пункта меню. При показе меню символ, перед которым стоит '&', подчер­кивается; например: «File».

Горячие клавиши для выбора пункта меню определяются свойством: property Shortcut: TShortCut;

Значения горячих клавиш можно выбрать из выпадающего списка или напи­сать в окне ввода значений Shortcut.

Пункт меню можно выбрать с помощью: щелчка мышью на имени пункта, нажатием Enter на сфокусированном (подсвеченном) пункте, нажатием акселе­ратора (Alt+символ), горячих клавиш или вызовом метода пункта.

Любой из этих способов вызывает событие:

property OnClick: TNotifyEvent;

С этим событием должно быть связано действие, определенное пунктом ме­ню. Воспринимают это событие только пункты меню, которые в данный момент активны, т. е. те, у которых установлено в True свойство:

property Enabled: Boolean;

Если Enabled = False, пункт изображается серым цветом и не может быть выбран.

Часто пункты меню используются для переключения режимов работы про­граммы. Они могут быть отмечены «галочкой» перед именем пункта. Является ли пункт меню отмеченным, определяет свойство:

property Checked: Boolean;

Если в меню много команд, расположение их в одной строке или в одном столбце неудобно для чтения. Для размещения пунктов меню в несколько столбцов используется свойство:

property Break: TMenuBreak;

TWenuBreak = (mbNone, mbBreak, mbBarBreak);

где: mbNone - пункты размещены в одну строку или в один столбик;

bBreak - команды меню, начиная с этой, располагаются в новой строке или но­вом столбце, рядом с прежним;

mbBarBreak - столбцы с пунктами меню разделяются вертикальной чертой.

В Delphi компоненты меню могут быть командами или подменю, имеющими собственный список пунктов. Если пункт меню находится в фокусе, нажатие F1 вызовет систему помощи с контекстом, определенным в свойстве:

property HelpContext: THelpContext;