对象状态常量

本主题介绍用于描述应用程序 UI 中对象状态的常量值。 状态常量在 oleacc.h 中定义。

对象随时与其中一个或多个状态值相关联。 不使用以下对象状态常量:STATE_SYSTEM_ALERT_HIGH、STATE_SYSTEM_ALERT_MEDIUM、STATE_SYSTEM_ALERT_LOW和STATE_SYSTEM_FLOATING。

客户端通过调用 IAccessible::get_accState来检索对象的状态,该整数返回以下位标志的组合。 客户端使用状态值调用 GetStateText ,以检索描述对象的状态的本地化字符串。

对象状态发生更改时,服务器应使用EVENT_OBJECT_STATECHANGE事件常量调用 NotifyWinEvent。 但是,具有STATE_SYSTEM_INVISIBLE、STATE_SYSTEM_FOCUSED和STATE_SYSTEM_ SELECTED 对象状态常量的对象有自己的事件常量。 对于这些对象,请勿使用 EVENT_OBJECT_STATECHANGE。 请改用单个事件常量。

以下是对象状态常量:

一直 说明
STATE_SYSTEM_ALERT_HIGH
(不支持此对象状态常量。)
指示要立即向用户传达的重要信息。 例如,当电池达到严重低级别时,级别指示器会生成高级警报。 因此,盲人访问工具会立即向用户报出此信息,屏幕放大程序滚动屏幕,以便电池指示器处于视图中。 此状态也适用于任何提示或用户在能够继续操作之前必须要先完成的操作。
STATE_SYSTEM_ALERT_MEDIUM
(不支持此对象状态常量。)
指示不会立即向用户传达的重要信息。 例如,当电池开始达到低级别时,级别指示器会生成中等级别的警报。 然后,盲人访问工具会生成声音,让用户知道重要信息可用,而不会实际中断用户的工作。 然后,用户可以在方便时查询警报信息。
STATE_SYSTEM_ALERT_LOW
(不支持此对象状态常量。)
指示对用户不重要的低优先级信息。 例如,当 Word 在其工具栏上更改 TipWizard 按钮的外观以指示它有提示时,将使用此状态。
STATE_SYSTEM_ANIMATED
对象的外观会迅速或不断变化。 偶尔进行动画处理的图形被描述为ROLE_SYSTEM_GRAPHIC,状态属性设置为 STATE_SYSTEM_ANIMATED 。 此状态用于指示对象的位置正在更改。
STATE_SYSTEM_BUSY
控件目前无法接受输入。
STATE_SYSTEM_CHECKED
选中对象的复选框。
STATE_SYSTEM_COLLAPSED
隐藏具有 ROLE_SYSTEM_OUTLINEITEM 角色的对象子级。
STATE_SYSTEM_DEFAULT
此状态表示窗口中的默认按钮。
STATE_SYSTEM_EXPANDED
将显示具有 ROLE_SYSTEM_OUTLINEITEM 角色的对象子级。
STATE_SYSTEM_EXTSELECTABLE
指示对象通过在 IAccessible::accSelect 方法中使用 SELFLAG_EXTENDSELECTION 来扩展其选择。
STATE_SYSTEM_FLOATING
(不支持此对象状态常量。)
该对象不会剪切到其父对象的边界,在父对象移动时不会自动移动。
STATE_SYSTEM_FOCUSABLE
该对象位于活动窗口中,并已准备好接收键盘焦点。
STATE_SYSTEM_FOCUSED
该对象具有键盘焦点。 不要将对象焦点与对象选择混淆。 有关详细信息,请参阅 Selection 和 Focus 属性和方法。 对于具有此对象状态的对象,发送 EVENT_OBJECT_SHOWEVENT_OBJECT_HIDE WinEvents 以通知客户端应用程序状态更改。 请勿使用 EVENT_OBJECT_STATECHANGE
STATE_SYSTEM_HASPOPUP
调用时,对象将显示弹出菜单或窗口。
STATE_SYSTEM_HOTTRACKED
该对象由鼠标热跟踪,这意味着对象的外观已更改,以指示鼠标指针位于该对象上方。
STATE_SYSTEM_INVISIBLE
对象以编程方式隐藏。 例如,在用户激活菜单之前,菜单 itmes 以编程方式隐藏。 由于具有此状态的对象对用户不可用,因此客户端应用程序不得向用户传达有关该对象的信息。 但是,如果客户端应用程序找到具有此状态的对象,则应检查是否还设置了STATE_SYSTEM_OFFSCREEN。 如果定义了第二种状态,客户端可以向用户传达有关该对象的信息。 例如,列表框可以同时设置STATE_SYSTEM_INVISIBLE和STATE_SYSTEM_OFFSCREEN。 在这种情况下,客户端应用程序可以向用户传达列表中的所有项。
如果客户端应用程序正在浏览 IAccessible 树并遇到不可见的父对象,则只要父级不可见,Microsoft Active Accessibility 将不会公开有关父级的任何可能子级的信息。
STATE_SYSTEM_LINKED
指示对象的格式设置为超链接。 对象的角色通常 ROLE_SYSTEM_TEXT
STATE_SYSTEM_MARQUEED
指示滚动或移动文本或图形。
STATE_SYSTEM_MIXED
指示未确定三态复选框或工具栏按钮的状态。 复选框既未选中也不清除,因此处于第三个或 混合 状态。
STATE_SYSTEM_MOVEABLE
指示可以移动对象。 例如,用户可以单击对象的标题栏,并将对象拖动到新位置。
STATE_SYSTEM_MULTISELECTABLE
指示对象接受多个选定项;也就是说,对于 IAccessible::accSelect 方法,SELFLAG_ADDSELECTION有效。
STATE_SYSTEM_NORMAL
指示对象没有为其分配另一个状态。
STATE_SYSTEM_OFFSCREEN
对象被剪裁或已滚动出视图,但它不是以编程方式隐藏的。 如果用户使视区变大,则计算机屏幕上会显示更多对象。
STATE_SYSTEM_PRESSED
按下对象。
STATE_SYSTEM_PROTECTED
对象是受密码保护的编辑控件。
STATE_SYSTEM_READONLY
指定对象为只读。
STATE_SYSTEM_SELECTABLE
对象接受选择。
STATE_SYSTEM_SELECTED
选择对象。
STATE_SYSTEM_SELFVOICING
对象或子对象使用文本转语音 (TTS) 技术进行说明。 当具有此状态的对象具有焦点时,基于语音的辅助功能助手不会报出信息,因为该对象会自动报出信息。
STATE_SYSTEM_SIZEABLE
可以调整对象的大小。 例如,用户可以通过按边框拖动窗口来更改窗口的大小。
STATE_SYSTEM_TRAVERSED
对象是用户以前单击) (访问的超链接。
STATE_SYSTEM_UNAVAILABLE
对象不可用。

要求

要求 Value
标头
Oleacc.h