Создание меню и диалогов
Компонент TMainMenu – главное меню формы
Компонент класса TMainMenu определяет главное меню формы. На форму можно поместить сколько угодно объектов данного класса, но отображаться в полосе меню в верхней части формы будет только тот из них, который будет указан в свойстве Menu формы.
Компонент TMainMenu находится на вкладке Standard и выбирается щелчком мыши по кнопке .
После установки компонента на форму, главное меню еще не будет создано. Необходимо настроить опции компонента. Для этого следует дважды щелкнуть по компоненту левой кнопкой мыши или один раз правой и выбрать опцию Menu Designer из появившегося вспомогательного меню (можно также щелкнуть по кнопке в правой половине строки Items инспектора объектов). На рис. 26 показан вид окна конструктора меню, после создания нескольких пунктов и одного подменю.
Рис. 26. Окно конструктора меню (Menu Designer)
Для создания опции следует войти в окно инспектора объектов и ввести текст опции в строке Caption, после чего нажать Enter - опция готова, и можно переходить к следующей. Каждая опция главного меню может раскрываться в список подопций или содержать конечную команду. Для создания подопций следует щелкнуть мышью по строке ниже опции и ввести первую подопцию. Затем следует продолжать ввод, пока будет создан весь список подопций, после чего надо щелкнуть по пустому прямоугольнику справа от первой опции и ввести вторую опцию.
В названиях опций можно указать символ «&» перед тем символом, который определит клавишу быстрого выбора опции (в терминологии Windows такие клавиши называются акселераторами). Например, опция Файл, во многих программах выбирается сочетанием клавиш Alt + Ф. Чтобы добиться этого, при создании меню эта опция в строке Caption инспектора объектов должна содержать текст &Файл.
Если необходимо вставить разделительную черту, отделяющую группы подопций, то следует назвать очередной элемент меню именем «-» (т.е. знаком дефиса).
Для создания разветвленных меню, т.е. таких, у которых подопции вызывают новые списки подопций, следует щелкните по подопции и нажать Ctrl + «Вправо», где «Вправо» - клавиша смешения курсора вправо. Такого же эффекта можно добиться после щелчка правой кнопкой мыши на подопции и выборе продолжения Create Submenu. Пример многоуровневого меню приведен на рис. 27.
Рис. 27. Многоуровневое меню
Каждый элемент меню является объектом класса TMenuItem. Свойства этого класса описаны ниже. Термин «родительская опция» означает опцию, выбор которой приводит к раскрытию подменю с данной опцией.
Bitmap – содержит ссылку на связанное с опцией изображение. Это изображение появляется слева от опции.
property Bitmap: TBitmap;
Checked – если true, рядом с опцией появляется галочка.
property Checked: Boolean;
Count – содержит количество опций в подчиненном меню, связанном с данным элементом (только для чтения).
property Count: Integer;
GroupIndex – определяет групповой индекс для зависимых опций (см. свойство Radioltem).
property GroupIndex: Byte;
Items[Index: Integer] – позволяет обратиться к любой опции подчиненного меню по ее индексу.
property Items: TMenuItem;
MenuIndex – Определяет индекс опции в списке Items родительской опции.
property MenuIndex: Integer;
RadioItem – определяет, зависит ли данная опция от выбора других опций в той же группе Grouplndex. Только одна опция группы может иметь True в свойстве Checked. Рядом с такой опцией вместо галочки изображается круг.
property RadioItem: Boolean;
С помощью свойства ShortCut можно выбрать сочетание клавиш, по которому будет активироваться данный пункт меню.
property ShortCut: TShortCut;
Чтобы связать с выбором пункта меню нужное действие, нужно определить обработчик его события OnClick.
Например, приведенная ниже процедура, связанная с щелчком мыши по пункту меню N4, приведет к закрытию формы Form1.
procedure TForm1.N4Click(Sender: TObject);
Begin
Form1.Close;
End;
Пример готового главного меню показан на рис. 28.
Рис. 28. Пример готового главного меню
Компонент TPopupMenu – контекстное меню.
Компоненты класса TPopupMenu используются для создания контекстных (всплывающих) меню, появляющихся после нажатия правой кнопки мыши. В отличие от главного меню контекстное меню может быть создано для любого оконного компонента. Чтобы связать щелчок правой кнопкой мыши на компоненте с раскрытием вспомогательного меню, в свойство PopupMenu компонента необходимо поместить имя компонента-меню.
Пример контекстного меню, связанного с компонентом TMemo, приведен на рис. 29.
Рис. 29. Пример контекстного меню.
Компонент TPopupMenu находится на вкладке Standard и выбирается щелчком мыши по кнопке .
Вспомогательное меню создается с помощью конструктора меню и содержит элементы описанного выше класса TMenuItem, поэтому процесс создания и свойства вспомогательного меню ничем не отличаются от TMainMenu.
Дата добавления: 2017-01-29; просмотров: 642;