Меню приложения

Меню приложения — это main меню для приложения, реализующего платформу ленты Windows.

Введение

Меню приложения состоит из раскрывающегося меню кнопки, в котором отображается меню, содержащее команды, которые предоставляют функциональные возможности, связанные с полным проектом, например целым документом, рисунком или фильмом. Примерами могут быть команды New, Open, Save и Exit .

На следующем снимке экрана показано меню приложения.

снимок экрана: меню приложения и список последних элементов на ленте windows 7.

Компоненты меню приложения

Меню приложения является обязательным элементом в любом приложении ленты. Точка входа в меню приложения — это отличительная кнопка, которая отображается в качестве первого элемента в строке tab , как показано на следующем снимке экрана.

Примечание

Windows 8 и более поздней версии: изображение кнопки меню приложения изменено на метку Файл. Не рекомендуется использовать файл в качестве метки для каких-либо собственных вкладок.

 

Снимок экрана: кнопка меню приложения wordpad для Windows 7.

При нажатии этой кнопки отображается расширенное меню, показанное на следующем снимке экрана (меню приложения из WordPad для Windows 7).

Снимок экрана: меню меню приложения wordpad для Windows 7.

Примечание

Нажатие кнопки Меню приложения не влияет на набор вкладок. Вместо этого фокус попадает в меню.

 

Меню приложения содержит две области: список команд, представленных одним или несколькими элементами MenuGroup , и список Последние элементы , представленный элементом ApplicationMenu.RecentItems .

Меню приложенияГруппа

Элемент ApplicationMenu должен содержать по крайней мере один дочерний элемент MenuGroup , предоставляющий список команд уровня приложения. Если объявлено несколько элементов MenuGroup , между группами рисуется линия разделителя, как показано на следующем снимке экрана.

Снимок экрана: группа меню приложения.

Ниже приведен список ограничений для элемента MenuGroup меню приложения.

При использовании кнопки в MenuGroup в меню отображается значение Command.LabelTitle , а в качестве подсказки отображаются значения Command.TooltipTitle и Command.TooltipDescription , как показано на следующем снимке экрана.

Снимок экрана: элемент управления

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

Для элементов управления "Кнопка разбиения " и "Кнопка раскрывающегося списка " значение Command.LabelDescription отображается во всплывающем меню, чтобы наглядно помочь пользователям в обнаружении функциональных возможностей команды. Отображаемое значение Command.LabelDescription программно разбивается на двухстрочный диапазон, и предпринимается попытка точно уместить значение в области Последние элементы под. Если значение Command.LabelDescription не помещается, всплывающий элемент будет расширяться, чтобы вместить самое длинное значение Command.Comment в MenuGroup.

На следующем снимке экрана показано это поведение во всплывающем элементе "Разделить кнопку ".

Снимок экрана: всплывающий элемент управления списком в меню приложения.

При использовании раскрывающейся коллекции и коллекции разделенных кнопок отображаются только метка и изображение.

Изменение размера меню приложения

Определение размера меню приложения обрабатывается платформой ленты. Если для значения Command.LabelTitle или Command.LabelDescription заданы очень длинные строки или используется длинный список команд, меню изменит его размер в соответствии с содержимым. Некоторые формы корректировки включают расширение размера всплывающих элементов или панелей меню и добавление средств просмотра сдвига, когда требуется прокрутка.

Свойства меню приложения

Платформа ленты определяет коллекцию ключей свойств для элемента управления Меню приложения.

Как правило, свойство меню приложения обновляется в пользовательском интерфейсе ленты путем отмены команды, связанной с элементом управления, путем вызова метода IUIFramework::InvalidateUICommand . Событие недействительности обрабатывается, а обновления свойств определяются методом обратного вызова IUICommandHandler::UpdateProperty .

Метод обратного вызова IUICommandHandler::UpdateProperty не выполняется, и приложение не запрашивает обновленное значение свойства, пока свойство не потребуется платформе. Например, платформе требуется свойство при активации вкладки и отображении элемента управления в пользовательском интерфейсе ленты или при отображении подсказки.

Ключ свойства Примечания
UI_PKEY_TooltipDescription Может быть обновлено только через недействительность.
UI_PKEY_TooltipTitle Может быть обновлено только через недействительность.

 

Библиотека элементов управления Windows Ribbon Framework

Элемент разметки ApplicationMenu