TMainMenu

 

Компонент класса TMainMenu определяет главное меню формы. На форму можно поместить сколько угодно объектов этого класса, но отображаться в полосе меню в верхней части формы будет толь­ко тот из них, который указан в свойстве Menu формы.

После установки компонента на форму необходимо создать его опции. Для этого следует дважды щелкнуть по компоненту левой кнопкой мыши либо нажать на нем правую кнопку и выбрать про­должение Menu Designer в появившемся вспомогательном меню, либо, наконец, щелкнуть по кнопке в правой половине строки Items Инспектора Объектов.

Создание опций не вызывает проблем. Перейдите в окно Инспектора Объектов и введите текст опции в строке Caption, после чего нажмите Enter – опция готова и можно переходить к следую­щей. Каждая опция главного меню может раскрываться в список подопций или содержать конечную команду. Для создания подопций щелкните мышью по строке ниже опции и введите первую подопцию. Продолжайте ввод, пока не будет создан весь список подопций, после чего щелкните по пустому прямоугольнику справа от первой опции и введите вторую опцию. Процесс гораздо сложнее описать, чем выполнить.

В названиях опций можно указать символ «&» перед тем симво­лом, который определит клавиши быстрого выбора опции.

Для создания разветвленных меню, т.е. таких, у которых подопции вызывают новые списки подопций, щелкните по подопции и нажмите Ctrl+Bnpaвo, где Вправо – клавиша смешения курсора впра­во. Такого же эффекта можно добиться после щелчка правой кноп­кой мыши на подопции и выборе продолжения Create Submenu.

Каждый элемент меню является объектом класса TMenuItem. Свойства этого класса описаны в следующей таблице. Термин «родительская опция» означает опцию, выбор которой приводит к раскрытию подменю с данной опцией.

 

propertyBreak: TMenuBreak; Позволяет создать многоколончатый список подме­ню (см. ниже).
propertyChecked: Boolean; Если True, рядом с опцией появляется галочка.
propertyCommand: Word; Используется при разработке приложений, обра­щающихся непосредственно к API-функциям Windows.
propertyCount: Integer; Содержит количество опций в подчиненном меню, связанном с данным элементом (только для чтения).
propertyDefault: Boolean; Определяет, является ли данная опция подменю умалчиваемой (см. ниже).
propertyGrouplndex: Byte; Определяет групповой индекс для зависимых опций (см. свойство Radioltem).
propertyItems[Index: Integer]: TMenuItem; Позволяет обратиться к любой опции подчиненного меню по ее индексу.
propertyMenulndex: Integer; Определяет индекс опции в списке Items родитель­ской опции.
propertyRadioltem: Boolean; Определяет, зависит ли данная опция от выбора других опций в той же группе Grouplndex. Только одна опция группы может иметь True в свойстве Checked. Рядом с такой опцией вместо галочки изображается круг.
propertyShortcut: TShortCut Задает клавиши быстрого выбора данной опции.

 

Тип TMenuBreak определен следующим образом:

 

type TMenuBreak = (mbNone, mbBarBreak, mbBreak);

 

Свойство Break по умолчанию имеет значение mbNone. Два других возможных значений этого свойства используются для создания многоколончатых списков подменю. Значение mbBarBreak заканчивает предыдущую колонку и начинает новую. Данная опция меню будет открывать новую колонку, которая отде­ляется от предыдущей вертикальной чертой. Значение mbBreak также создает новую колонку, но не вставляет разделительную чер­ту. Эти значения игнорируются в опциях самого первого уровня. В окне конструктора меню многоколончатое меню отображается как обычное.

Если в свойстве Default указано значение True, такая опция вы­деляется цветом и выбирается двойным щелчком мыши на роди­тельской опции. Только одна опция в подменю может быть умалчи­ваемой.

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

Для элемента меню определено единственное событие ОnСliск, которое возникает при щелчке на опции или при нажатии Enter, если в этот момент данная опция была выбрана (подсвечена). Обра­ботчик события становится доступен после двойного щелчка на опции в окне конструктора меню.