当辅助工具遇到 ActiveX 控件时,可以使用对象的 IAccessible 接口获取有关该控件的信息。可以用 IAccessible::accDoDefaultAction 方法激活未激活的控件。
下表描述在未激活控件上调用 IAccessible 方法产生的结果。
方法
说明 IAccessible::accDoDefaultAction 激活控件并在 MSAA 树内公开 ActiveX 控件或 Java Applet。 IAccessible::accHitTest 返回 CHILDID_SELF IAccessible::accLocation 底层 ActiveX 控件或 Java Applet 的位置 IAccessible::accNavigate 返回 E_NOTIMPL IAccessible::accSelect 返回 E_NOTIMPL IAccessible::get_accChild 返回 S_FALSE IAccessible::get_accChildCount 返回 0 和 S_OK IAccessible::get_accDefaultAction 返回“Select this control” IAccessible::get_accDescription 返回 E_NOTIMPL IAccessible::get_accFocus 返回 E_NOTIMPL IAccessible::get_accHelp 返回“This control is inactive.Select the control to activate and use it.” IAccessible::get_accHelpTopic 没有变化 — 返回 E_NOTIMPL IAccessible::get_accKeyboardShortcut 没有变化 — 委托该对象。如果没有对象,该方法返回 E_NOTIMPL。 IAccessible::get_accName 返回“Inactive Control” IAccessible::get_accParent 没有变化 — 返回父链中最近的可访问的元素。 IAccessible::get_accRole 返回 ROLE_SYSTEM_PUSHBUTTON IAccessible::get_accSelection 返回 E_NOTIMPL IAccessible::get_accState 返回对象的当前状态。该状态总是包括 STATE_SYSTEM_FOCUSABLE IAccessible::get_accValue 返回 E_NOTIMPL IAccessible::put_accName 返回 E_NOTIMPL IAccessible::put_accValue 返回 E_NOTIMPL
有关激活的控件或不需要激活的控件的信息,请参阅 Active Accessibility SDK。
注 辅助工具触发默认操作后应该刷新,这样才能正确显示 ActiveX 控件的数据及其子控件的数据(如果有)。
WebBrowser 控件影响默认情况下,宿主 WebBrowser Control 的自定义应用程序不会阻止由 APPLET、EMBED 或 OBJECT 元素加载的交互式 ActiveX 控件。未激活控件阻止仅应用于以下应用程序。
•
Windows Explorer Internet Explorer MSN Explorer AOL®Explorer AOL®8.0 AOL®9.0 CompuServe 2000 AIM® Maxthon Browser NetCaptor Browse3D Macromedia Dreamweaver Macromedia Contribute Netscape®8(将 Internet Explorer 用作呈现引擎时)
•
•
•
•
•
•
•
•
•
•
•
•
•