Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
74
Добавлен:
13.05.2015
Размер:
9.35 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(удалить пункт),CreateSubmenu(создать подменю),InsertFromTemplate(вста­вить типовое меню) и др. Для вызова процедуры обработки выбора пункта меню достаточно дважды щелкнуть на пункте.

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