System-Level 和 Object-Level 事件
Microsoft Active Accessibility 使用三类 WinEvents:系统级别、对象级别和 控制台。 每个事件都有以下相应的 常量 值之一:
- 以EVENT_SYSTEM开头的事件常量标识系统级事件。 这些事件描述影响系统中所有应用程序的情况。
- 以EVENT_OBJECT开头的事件常量标识对象级事件。 这些事件与特定于一个应用程序中的对象的情况有关。
- 以EVENT_CONSOLE开头的事件常量标识控制台级事件。 这些事件指示控制台窗口中的更改。
系统级和对象级事件类均由作系统和服务器应用程序生成。 作系统为以下方案生成系统级和对象级事件:
- 有关焦点更改的系统范围通知
- 激活更改
- 与系统提供的对象相关的事件,例如常见控件
服务器应用程序为复制系统对象的自定义对象(如自定义菜单和滚动条)生成系统级事件。
服务器应用程序通常会生成对象级事件,以更改它们包含的可访问对象,例如对象创建、销毁和选择。
尽管系统为 窗口 对象生成对象级事件,但服务器还必须为窗口中包含的每个可访问对象发送对象级事件。 例如,如果服务器应用程序注册应用程序定义的窗口类以创建自定义控件,则系统会为包含自定义控件的窗口生成对象级事件;服务器为提供控件相关信息的可访问对象生成对象级事件。
服务器仅为其实现 IAccessible 接口的自定义控件生成对象级事件。 有关详细信息,请参阅 自定义用户界面元素。