Обзор событий автоматизации пользовательского интерфейса
Уведомление о событиях microsoft модель автоматизации пользовательского интерфейса является ключевой функцией специальных возможностей, таких как средства чтения с экрана и экранные лупы. Эти модель автоматизации пользовательского интерфейса клиенты отслеживают события, создаваемые поставщиками модель автоматизации пользовательского интерфейса, когда что-то происходит в пользовательском интерфейсе, и используют эти сведения для уведомления конечных пользователей.
Повысить эффективность можно, позволяя приложениям поставщика вызывать события выборочно в зависимости от того, было ли все клиенты подписаны на эти события или прослушивают ли клиенты события.
События модели автоматизации пользовательского интерфейса делятся на следующие категории.
Категория событий | Описание |
---|---|
Изменение свойства | Возникает при изменении свойства модель автоматизации пользовательского интерфейса элемента или шаблона элемента управления. Например, если клиенту необходимо отслеживать приложение проверка элемент управления box, он может зарегистрироваться для прослушивания события изменения свойства в свойстве IUIAutomationTogglePattern::CurrentToggleState. Когда флажок устанавливается или снимается, поставщик вызывает событие и клиент может выполнить необходимые действия. |
Действие элемента | Возникает, когда изменение в пользовательском интерфейсе является результатом действия конечного пользователя или программного действия, например при нажатии или вызове кнопки через IUIAutomationInvokePattern. |
Изменение структуры | Возникает при изменении структуры дерева модель автоматизации пользовательского интерфейса. Структура меняется, когда новые элементы пользовательского интерфейса отображаются, скрываются или удаляются с рабочего стола. |
Глобальное изменение рабочего стола | Вызывается, когда выполняются глобальные действия для клиента, например когда фокус переходит от одного элемента к другому или при закрытии окна. |
Уведомление | Возникает, когда приложение вызывает функцию UiaRaiseNotificationEvent . NotificationKind указывает тип уведомления. |
Некоторые события необязательно означают, что состояние пользовательского интерфейса изменилось. Например, если пользователь нажимает клавишу TAB к текстовому полю, а затем нажимает кнопку для обновления поля, возникает событие UIA_Text_TextChangedEventId , даже если пользователь фактически не изменял текст. При обработке события клиентскому приложению может потребоваться проверить, действительно ли что-либо изменилось, перед выполнением действия.
Следующие события могут возникать, даже если состояние пользовательского интерфейса не изменилось.
- UIA_AutomationPropertyChangedEventId (в зависимости от измененного свойства)
- UIA_SelectionItem_ElementSelectedEventId
- UIA_Selection_InvalidatedEventId
- UIA_Text_TextChangedEventId
Описание всех событий модель автоматизации пользовательского интерфейса см. в разделе Идентификаторы событий.
Связанные темы