Поделиться через


Тип элемента управления MenuBar

В этом разделе содержатся сведения о поддержке службы автоматизации пользовательского интерфейса Майкрософт для типа элемента управления MenuBar.

Элементы управления строк меню являются примером элементов управления, реализующих тип элемента управления MenuBar. Панели меню предоставляют средства для активации команд и параметров, содержащихся в приложении.

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

В этом разделе содержатся следующие разделы.

Типичная структура дерева

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

Представление элемента управления Представление содержимого
  • MenuBar
    • MenuItem (1 или более)
    • Другие элементы управления (0 или многие)
  • Неприменимо
    • MenuItem (1 или более)
    • Другие элементы управления (0 или многие)

 

Элемент управления строк меню всегда отображается в представлении элемента управления, но не в представлении содержимого, так как обычно он не передает значимые сведения пользователю (если приложение не содержит несколько строк меню).

Клиенты автоматизации пользовательского интерфейса могут прослушивать событие UIA_MenuModeStartEventId, чтобы убедиться, что они постоянно уведомляются при вводе пользовательского интерфейса в режим меню. Если приложение находится в режиме меню, все входные данные клавиатуры могут быть записаны для навигации по меню (например, ввод "s" может вызывать меню Сохранить вместо ввода символа в клиентской области приложения). Событие UIA_MenuModeStartEventId должно предшествовать первому событию UIA_MenuOpenedEventId, чтобы обеспечить логическую согласованность. Событие UIA_MenuModeEndEventId следует последнему событию UIA_MenuClosedEventId. Щелкнув пункт меню, также может сразу же активировать событие UIA_MenuModeStartEventId, за которым следует событие UIA_MenuOpenedEventId.

Элемент управления строк меню может содержать другие элементы управления, такие как элементы управления редактирования и поля со списком в структуре. Эти дополнительные элементы управления соответствуют приведенным выше элементам управления и представлениям содержимого.

Соответствующие свойства

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

Свойство автоматизации пользовательского интерфейса Ценность Примечания
UIA_AcceleratorKeyPropertyId НЕДЕЙСТВИТЕЛЬНЫЙ В строках меню обычно нет клавиш акселератора.
UIA_AccessKeyPropertyId ALT Нажатие клавиши ALT обычно должно фокусироваться на строке меню в приложении.
UIA_BoundingRectanglePropertyId См. заметки. Значение, предоставленное этим свойством, должно содержать все элементы управления, содержащиеся в нем.
UIA_ControlTypePropertyId MenuBar
UIA_IsContentElementPropertyId ЛОЖНЫЙ Элемент управления строк меню не включен в представление содержимого дерева автоматизации пользовательского интерфейса.
UIA_IsControlElementPropertyId ИСТИННЫЙ Элемент управления строк меню всегда включается в представление элемента управления дерева автоматизации пользовательского интерфейса.
UIA_IsKeyboardFocusablePropertyId ИСТИННЫЙ Элементы управления панелью меню являются фокусируемыми на клавиатуре, так как элементы управления, которые они содержат, могут сосредоточиться на клавиатуре.
UIA_IsOffscreenPropertyId См. заметки. Значение этого свойства зависит от того, доступен ли элемент управления на экране.
UIA_LabeledByPropertyId НЕДЕЙСТВИТЕЛЬНЫЙ Элементы управления строк меню обычно не имеют метки.
UIA_LocalizedControlTypePropertyId См. заметки. Локализованная строка, соответствующая типу элемента управления MenuBar. Значением по умолчанию является строка меню для en-US или английского (США).
UIA_NamePropertyId См. заметки. Элемент управления строк меню не требует имени, если приложение не имеет несколько строк меню. Если в приложении существует несколько строк меню, используйте это свойство для предоставления различающихся имен, таких как "Форматирование" или "Выстраивание".
UIA_OrientationPropertyId Зависит Это свойство позволяет определить, является ли элемент управления строкой меню горизонтальным или вертикальным.

 

Обязательные шаблоны элементов управления

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

Шаблон элемента управления Поддержка Примечания
IExpandCollapseProvider Зависит Если элемент управления можно развернуть или свернуть, он должен реализовать шаблон элемента управления ExpandCollapse.
IDockProvider Зависит Если элемент управления можно закрепить на разных частях экрана, он должен реализовать шаблон элемента управления Dock.
ITransformProvider Зависит Если элемент управления можно изменить, повернуть или переместить, он должен реализовать шаблон преобразования.

 

Обязательные события

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

Событие автоматизации пользовательского интерфейса Примечания
UIA_AutomationFocusChangedEventId
событие UIA_BoundingRectanglePropertyId изменено свойством.
UIA_ExpandCollapseExpandCollapseStatePropertyId событие изменения свойства. Если элемент управления поддерживает шаблон элемента управления ExpandCollapse, он должен поддерживать это событие.
событие UIA_IsEnabledPropertyId изменено свойством. Если элемент управления поддерживает свойство IsEnabled, он должен поддерживать это событие.
событие UIA_IsOffscreenPropertyId изменено свойством. Если элемент управления поддерживает свойство IsOffscreen, он должен поддерживать это событие.
UIA_StructureChangedEventId

 

концептуальные

Общие сведения о типах элементов управления автоматизации пользовательского интерфейса

Обзор автоматизации пользовательского интерфейса