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


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

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

Элемент управления меню позволяет иерархической организации элементов, связанных с командами и обработчиками событий. В обычном приложении Windows строка меню содержит несколько элементов меню (например, файла, правкии окна), а каждый пункт меню отображает меню. Меню содержит коллекцию элементов меню (например, Создать, Открытьи Закрыть), которые можно развернуть для отображения дополнительных элементов меню или выполнения определенного действия при щелчке.

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

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

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

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

Представление элемента управления Представление содержимого
  • MenuItem "Справка"
    • Меню (подменю элемента меню справки)
      • MenuItem "Разделы справки"
      • MenuItem "About Notepad"
  • MenuItem "Справка"
    • MenuItem "Разделы справки"
    • MenuItem "About Notepad"

 

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

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

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

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

Свойство автоматизации пользовательского интерфейса Ценность Примечания
UIA_AutomationIdPropertyId См. заметки. Значение этого свойства должно быть уникальным среди всех одноранговых элементов в необработанном представлении дерева автоматизации пользовательского интерфейса. Выделите свойство AutomationId для элемента меню, если элемент, как известно, согласован между различными экземплярами пользовательского интерфейса. Если элемент меню динамически заполнен и не предсказуем, оставьте свойство AutomationId пустым.
UIA_BoundingRectanglePropertyId См. заметки. Самый внешний прямоугольник, содержащий весь элемент управления.
UIA_ClickablePointPropertyId См. заметки. Поддерживается, если существует ограничивающий прямоугольник. Если не каждая точка в ограничивающем прямоугольнике можно щелкнуть, а элемент выполняет специализированное тестирование попаданий, переопределите и укажите точку, доступную для щелчка.
UIA_ControlTypePropertyId MenuItem
UIA_IsContentElementPropertyId ИСТИННЫЙ Элемент управления элементом меню всегда включается в представление содержимого дерева автоматизации пользовательского интерфейса.
UIA_IsControlElementPropertyId ИСТИННЫЙ Элемент управления меню всегда включается в представление элемента управления дерева автоматизации пользовательского интерфейса.
UIA_IsKeyboardFocusablePropertyId См. заметки. Если элемент управления может получить фокус клавиатуры, он должен поддерживать это свойство.
UIA_LocalizedControlTypePropertyId См. заметки. Локализованная строка, соответствующая типу элемента управления MenuItem MenuItem. Значение по умолчанию — "пункт меню" для en-US или английского языка (США).
UIA_NamePropertyId См. заметки. Имя элемента управления меню — это текст, используемый для его метки.

 

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

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

Шаблон элемента управления Поддержка Примечания
IExpandCollapseProvider Зависит Если элемент управления можно развернуть или свернуть, реализуйте IExpandCollapseProvider.
IInvokeProvider Зависит Если элемент управления выполняет одно действие или команду, реализуйте IInvokeProvider.
ISelectionItemProvider Зависит Если элемент управления используется для выбора из списка параметров между элементами меню, реализуйте ISelectionItemProvider.
IToggleProvider Зависит Если элемент управления представляет параметр, который можно включить или отключить, реализуйте IToggleProvider.

 

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

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

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

 

Устаревшие проблемы

Для элементов меню Microsoft Win32 переключатель поддерживается только при проверке элемента меню и программно определить, требуется ли поддержка шаблона переключателя. Так как элемент меню Win32 не предоставляет возможность проверки, шаблон элемента управления Invoke поддерживается, если элемент меню не установлен. Шаблон элемента управления Invoke всегда поддерживается, даже для элементов меню, которые требуются только для поддержки шаблона элемента управления Toggle. Это так, что клиенты не путаются, когда элемент меню, поддерживающий шаблон элемента управления Invoke (когда элемент меню был снят) больше не поддерживает этот шаблон при его проверке.

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

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

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