Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

2.3.8. Меню

Меню бывает двух типов: главное (MainMenu) и контекстное, или всплывающее (PopupMenu). Пункт любого меню является объектом TMenuItem со следующими свойствами.

Caption, Bitmap ‑ текст строки пункта меню и изображение слева от текста. Если текст строки состоит из одного символа “‑“, то выводится разделительная горизонтальная линия.

Enabled,Visible,Checked ‑ пункт меню доступен, выводится и выбран (True).

ShortCut ‑ комбинация клавиш активизации пункта меню.

Break ‑ оформление меню: mbNone (линий разделения нет), mbBreak и mbBreakBar (пункты меню, начиная с текущего, образуют новую колонку и отделяются линией).

Default ‑ пункт является умалчиваемым (True) и выделяется цветом.

Hint ‑ текст подсказки, выводимой в строке панели статуса.

RadioItem ‑ вид отметки выбранного пункта: точка (True), галочка (False).

Items, Count ‑ массив подпунктов данного пункта и число подпунктов.

Основное событие OnClick ‑ выбор пункта, а метод Click имитирует выбор нужного пункта.

Обычно после размещения меню вызывают двойным щелчком конструктор меню, который упрощает создание меню. Контекстное меню конструктора имеет команды: Insert (вставить пункт), Delete (удалить пункт), Create Submenu (создать подменю), Insert From Template (вста­вить типовое меню) и др. Для вызова процедуры обработки выбора пункта меню достаточно дважды щелкнуть на пункте.

2 .3.8.1. Главное меню (MainMenu)

Главное меню располагается под заголовком фор­мы, может иметь вложенные подменю лю­бо­го уровня; его имя в свойстве формы Menu.

2 .3.8.2. Контекстное меню (PopupMenu)

К онтекстное меню появляется при нажатии правой кнопки мыши. Оно может быть связано с любым оконным объектом: имя меню указы­вает­ся в свойстве PopupMenu этого объекта.

Специфичные свойства

AutoPopup ‑ меню появляется при щелчке правой кнопкой мыши (True).

Alignment ‑ место появления меню относительно маркера мыши: paLeft (левый верхний угол), paCenter (центр), paRight (правый верхний угол).

2.3.8.3. Программная настройка меню

Программным путем можно менять свойства меню, обычно Enabled, и менять его структуру, используя методы Add, Insert, Delete.

Примеры:

Var Ni:TMenuItem;Begin Ni:=TMenuItem.Create(Self); Ni.Caption:=’Формы’;

MainMenu1.Add(Ni); //добавление в конец меню

MainMenu1.Insert(2,Ni); //добавление в меню в позицию 2

MainMenu1.Delete(1); //удаление пункта в позиции 1 (второй пункт)

Form1.Menu:=DrugoeMenu //смена главного меню на меню DrugoeMenu

Объединять меню на уровне пунктов строки главного меню можно методом Merge. Объединяются указанные в параметре меню и меню, указанное слева от имени функции Merge. Порядок следования пунктов при объединении определяется свойством GroupIndex: при равенстве происходит замена пунктом‑параметром, иначе ‑ располагаются в порядке возрастания в направлении слева направо.

Объединение может быть автоматическим, если для меню главной формы указать AutoMerge=False, а для неглавных форм ‑ AutoMerge=True.

Разъединять меню, слитое методом Merge, можно методом UnMerge. Параметр указывает разъединяемое меню.

2.3.8.4. Горячие клавиши (HotKey)

Компонент (панель Win32) позволяет менять поль­зо­ва­телю в процессе выполнения прило­жения наз­начения горячих клавиш. Свойство HotKey за­дает комбинацию горячих клавиш.

Пример изменения горячих клавиш для пункта Vixod меню:

Vixod.ShortKey:=HotKey1.HotKey