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

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

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

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

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

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

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

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

Основные понятия

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

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