对象状态常量

本主题介绍用于描述应用程序 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 属性设置为 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
对象具有键盘焦点。 不要将对象焦点与对象选择混淆。 有关详细信息,请参阅 选择和焦点属性和方法。 对于具有此对象状态的对象,请发送 EVENT_OBJECT_SHOWEVENT_OBJECT_HIDE WinEvents 以通知客户端应用程序状态更改。 请勿使用 EVENT_OBJECT_STATECHANGE
STATE_SYSTEM_HASPOPUP
调用时,对象将显示弹出菜单或窗口。
STATE_SYSTEM_HOTTRACKED
对象由鼠标进行热跟踪,这意味着对象的外观已更改,以指示鼠标指针位于该对象上方。
STATE_SYSTEM_INVISIBLE
对象以编程方式隐藏。 例如,菜单以编程方式隐藏,直到用户激活菜单。 由于具有此状态的对象对用户不可用,因此客户端应用程序不得向用户传达有关该对象的信息。 但是,如果客户端应用程序找到具有此状态的对象,它们应检查是否也设置了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
对象不可用。

要求

要求
标头
Oleacc.h