Тип элемента управления MenuItem
В этом разделе содержатся сведения о поддержке службы автоматизации пользовательского интерфейса Майкрософт для типа элемента управления MenuItem.
Элемент управления меню позволяет иерархической организации элементов, связанных с командами и обработчиками событий. В обычном приложении Windows строка меню содержит несколько элементов меню (например, файла, правкии окна), а каждый пункт меню отображает меню. Меню содержит коллекцию элементов меню (например, Создать, Открытьи Закрыть), которые можно развернуть для отображения дополнительных элементов меню или выполнения определенного действия при щелчке.
В следующих разделах определяется необходимая структура дерева автоматизации пользовательского интерфейса, свойства, шаблоны элементов управления и события для типа элемента управления MenuItem. Требования к автоматизации пользовательского интерфейса применяются ко всем элементам управления меню, где платформа и платформа пользовательского интерфейса интегрирует поддержку автоматизации пользовательского интерфейса для типов элементов управления и шаблонов элементов управления.
В этом разделе содержатся следующие разделы.
- типичная структура дерева
- соответствующие свойства
- обязательные шаблоны элементов управления
- обязательные события
- устаревшие проблемы
- связанные разделы
Типичная структура дерева
В следующей таблице представлено типичное представление элемента управления и содержимого дерева автоматизации пользовательского интерфейса, относящегося к элементам управления элементом меню и описывающее, что может содержаться в каждом представлении. Дополнительные сведения о дереве автоматизации пользовательского интерфейса см. в обзоре дерева автоматизации пользовательского интерфейса.
Представление элемента управления | Представление содержимого |
---|---|
|
|
Представление элемента управления меню содержит структуру дерева автоматизации пользовательского интерфейса, показанную выше. Обратите внимание, что элемент меню для справки в строке меню добавлен, чтобы лучше проиллюстрировать структуру.
В представлении содержимого меню отсутствует в дереве автоматизации пользовательского интерфейса, так как он не передает значимые сведения конечному пользователю.
Соответствующие свойства
В следующей таблице перечислены свойства автоматизации пользовательского интерфейса, значения или определения которых особенно важны для типа элемента управления 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 (когда элемент меню был снят) больше не поддерживает этот шаблон при его проверке.
Связанные разделы
-
концептуальные
-
Общие сведения о типах элементов управления автоматизации пользовательского интерфейса