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