События System-Level и Object-Level

Microsoft Active Accessibility использует три класса WinEvents: системный уровень, уровень объекта и консоль. Каждая из них имеет одно из следующих соответствующих значений константы события :

  • Константы событий, начинающиеся с EVENT_SYSTEM определить события системного уровня. Эти события описывают ситуации, влияющие на все приложения в системе.
  • Константы событий, начинающиеся с EVENT_OBJECT определяют события уровня объекта. Эти события относятся к ситуациям, характерным для объектов в одном приложении.
  • Константы событий, начинающиеся с EVENT_CONSOLE определяют события на уровне консоли. Эти события указывают на изменения в окнах консоли.

Как классы системных, так и объектных уровней событий создаются операционной системой и серверными приложениями. Операционная система создает события уровня системы и объекта для следующих сценариев:

  • Системные уведомления об изменениях фокуса
  • Изменения активации
  • События, связанные с предоставляемыми системой объектами, такими как общие элементы управления

Серверные приложения создают события системного уровня для пользовательских объектов, которые реплицируют системные объекты, такие как пользовательские меню и полосы прокрутки.

Серверные приложения обычно создают события уровня объекта для изменений в содержащихся в них доступных объектов, таких как создание, уничтожение и выбор объектов.

Хотя система создает события уровня объектов для оконных объектов, серверы также должны отправлять события уровня объекта для каждого доступного объекта, содержащегося в окне. Например, если серверное приложение регистрирует определяемый приложением класс окна для создания пользовательского элемента управления, система создает события уровня объекта для окна, содержащего пользовательский элемент управления; сервер создает события уровня объекта для доступного объекта, предоставляющего сведения об элементе управления .

Серверы создают события уровня объекта только для пользовательских элементов управления, для которых они реализуют интерфейс IAccessible . Дополнительные сведения см. в разделе Пользовательские элементы пользовательского интерфейса.