Тип элемента управления MenuItem
В этом разделе содержатся сведения о поддержке microsoft модель автоматизации пользовательского интерфейса для типа элемента управления MenuItem.
Элемент управления "Меню" позволяет иерархически организовать элементы, связанные с командами и обработчиками событий. В типичном приложении Windows строка меню содержит несколько пунктов меню (например, Файл, Изменить и Окно), и каждый пункт меню отображает меню. Меню содержит набор пунктов меню (таких как Создать, Открытьи Закрыть), которые можно развернуть, чтобы отобразить дополнительные пункты меню или выполнить определенное действие, нажав соответствующий пункт.
В следующих разделах определяются необходимые модель автоматизации пользовательского интерфейса древовидной структуры, свойств, шаблонов элементов управления и событий для типа элемента управления MenuItem. Требования к модель автоматизации пользовательского интерфейса применяются ко всем элементам управления меню, в которых платформа пользовательского интерфейса интегрируется модель автоматизации пользовательского интерфейса поддержку типов элементов управления и шаблонов элементов управления.
В этом разделе содержатся следующие подразделы.
- Типичная древовидная структура
- Соответствующие свойства
- Обязательные шаблоны элементов управления
- Обязательные события
- Проблемы прежних версий
- Связанные темы
Типичная древовидная структура
В следующей таблице представлен типичный элемент управления и представление содержимого дерева модель автоматизации пользовательского интерфейса, относящееся к элементам управления пунктами меню, и описывается, что может содержаться в каждом представлении. Дополнительные сведения о дереве модель автоматизации пользовательского интерфейса см. в разделе Общие сведения о дереве модель автоматизации пользовательского интерфейса.
Представление элемента управления | Представление содержимого |
---|---|
|
|
Представление элемента управления элемента меню имеет модель автоматизации пользовательского интерфейса древовидную структуру, показанную выше. Обратите внимание, что пункт меню справки в строке меню был добавлен, чтобы лучше проиллюстрировать структуру.
В представлении содержимого меню отсутствует в дереве модель автоматизации пользовательского интерфейса, так как оно не передает значимые сведения конечному пользователю.
Соответствующие свойства
В следующей таблице перечислены модель автоматизации пользовательского интерфейса свойства, значение или определение которых особенно важно для типа элемента управления MenuItem. Дополнительные сведения о свойствах модель автоматизации пользовательского интерфейса см. в разделе Извлечение свойств из элементов модель автоматизации пользовательского интерфейса.
Свойство модели автоматизации пользовательского интерфейса | Значение | Примечания |
---|---|---|
UIA_AutomationIdPropertyId | См. примечания. | Значение этого свойства должно быть уникальным среди всех одноранговых элементов в необработанном представлении дерева модель автоматизации пользовательского интерфейса. Выделите свойство AutomationId для пункта меню, если известно, что элемент согласован в разных экземплярах пользовательского интерфейса. Если элемент меню заполняется динамически и непредсказуем, оставьте свойство AutomationId пустым. |
UIA_BoundingRectanglePropertyId | См. примечания. | Внешний прямоугольник, содержащий весь элемент управления. |
UIA_ClickablePointPropertyId | См. примечания. | Поддерживается при наличии ограничивающего прямоугольника. Если не каждая точка в ограничивающем прямоугольнике доступна для щелчка, а элемент выполняет специализированную проверку нажатия, переопределите и укажите точку, доступную для щелчка. |
UIA_ControlTypePropertyId | MenuItem | |
UIA_IsContentElementPropertyId | TRUE | Элемент управления "Элемент меню" всегда включается в представление содержимого дерева модель автоматизации пользовательского интерфейса. |
UIA_IsControlElementPropertyId | TRUE | Элемент управления "Пункт меню" всегда включается в представление элемента управления дерева модель автоматизации пользовательского интерфейса. |
UIA_IsKeyboardFocusablePropertyId | См. примечания. | Если элемент управления может получать фокус клавиатуры, он должен поддерживать это свойство. |
UIA_LocalizedControlTypePropertyId | См. примечания. | Локализованная строка, соответствующая типу элемента управления MenuItem . Значение по умолчанию — "пункт меню" для en-US или english (США). |
UIA_NamePropertyId | См. примечания. | Имя элемента управления меню — это текст, используемый для пометки. |
Обязательные шаблоны элементов управления
В следующей таблице перечислены шаблоны элементов управления модель автоматизации пользовательского интерфейса, которые должны поддерживаться элементами управления меню. Дополнительные сведения о шаблонах элементов управления см. в разделе UI Automation Control Patterns Overview.
Шаблон элемента управления | Поддержка | Примечания |
---|---|---|
IExpandCollapseProvider | Зависит | Если элемент управления можно развернуть или свернуть, реализуйте IExpandCollapseProvider. |
IInvokeProvider | Зависит | Если элемент управления выполняет одно действие или команду, реализуйте IInvokeProvider. |
ISelectionItemProvider | Зависит | Если элемент управления используется для выбора из списка параметров между пунктами меню, реализуйте ISelectionItemProvider. |
IToggleProvider | Зависит | Если элемент управления представляет параметр, который можно включить или отключить, реализуйте IToggleProvider. |
Обязательные события
В следующей таблице перечислены события модель автоматизации пользовательского интерфейса, которые необходимы для поддержки элементов управления пунктами меню. Дополнительные сведения о событиях см. в разделе UI Automation Events Overview.
Событие модель автоматизации пользовательского интерфейса | Примечания |
---|---|
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 событие изменения свойства. | Если элемент управления поддерживает шаблон элемента управления Toggle , он должен поддерживать это событие. |
Проблемы прежних версий
Для пунктов меню Microsoft Win32 шаблон элемента управления Toggle поддерживается только в том случае, если установлен флажок меню и можно программно определить, требуется ли поддержка шаблона элемента управления Toggle. Так как элемент меню Win32 не предоставляет возможности проверки, шаблон элемента управления "Вызов" поддерживается, если этот пункт меню не установлен. Шаблон элемента управления Invoke поддерживается всегда, даже для пунктов меню, которые требуются только для поддержки шаблона элемента управления Toggle. Это делается так, чтобы клиенты не путались, когда элемент меню, поддерживающий шаблон элемента управления "Вызов " (когда этот пункт меню был снят), больше не поддерживает этот шаблон при его проверке.
Связанные темы
-
Основные понятия
-
Общие сведения о типах элементов управления автоматизации пользовательского интерфейса
-
Общие сведения о модели автоматизации пользовательского интерфейса