菜单项 (MSAA UI 元素引用)

注意

本主题介绍用于 MSAA UI 元素引用的 菜单项 对象。 此处未介绍如何在各种 UI 框架中创建 菜单项 对象。 请参阅所使用的 UI 框架的 API 参考文档。

菜单项表示菜单栏或弹出菜单中的特定项。 例如,Microsoft Active Accessibility 为菜单栏中 的“文件 ”菜单创建菜单项对象。 同样,Microsoft Active Accessibility 从“文件”弹出菜单中为“打开”菜单项创建菜单项对象。

菜单项的窗口类名称为“#32768”。

IAccessible 方法

菜单项支持以下 IAccessible 方法:

方法 注释
accDoDefaultAction 对于菜单栏中的菜单项, accDoDefaultAction 根据菜单的状态显示或关闭菜单。 对于弹出菜单中的菜单项, accDoDefaultAction 单击菜单项以执行菜单命令。
acchittest
accLocation
accNavigate
accSelect

IAccessible 属性

菜单项支持以下 IAccessible 属性:

属性 注释
get_accChild 检索此项目的弹出菜单对象的 IDispatch 接口。
get_accChildCount ChildCount 属性是显示菜单或子菜单的菜单项之一;否则,ChildCount 属性为零。
get_accDefaultAction 显示菜单或子菜单的菜单项的 DefaultAction 属性是“打开”或“关闭”,具体取决于菜单的状态。 所有其他菜单项的 DefaultAction 属性为“Execute”。
get_accFocus
get_accKeyboardShortcut KeyboardShortcut 属性是菜单项的访问键,它是菜单项名称文本中的下划线字符。 例如,TheFile 菜单项的 KeyboardShortcut 属性为“f”。
get_accName Name 属性与菜单项的名称相同。
get_accParent Parent 属性是包含菜单项的菜单栏或弹出菜单。
get_accRole Role 属性ROLE_SYSTEM_MENUITEM
get_accState State 属性是以下一个或多个值的STATE_SYSTEM_INVISIBLE或组合:STATE_SYSTEM_UNAVAILABLE | STATE_SYSTEM_CHECKED STATE_SYSTEM_DEFAULT | STATE_SYSTEM_HOTTRACKED | | STATE_SYSTEM_FOCUSED STATE_SYSTEM_HASPOPUP |

备注

  • 在菜单项上使用时, accDoDefaultAction 将返回S_OK,但如果访问键中使用的字符?, !, @,或者需要 SHIFT 键或其他修饰键的任何其他字符,则无法执行该操作。 这也发生在具有访问键字符的国际键盘上,该字符要求按下 ALT GR 键。
  • 具有SELFLAG_TAKEFOCUS的 accSelect 方法不会导致菜单项打开或关闭弹出菜单。 客户端使用 accDoDefaultAction 方法打开或关闭弹出菜单。
  • 不显示弹出菜单的菜单栏项返回 Name 属性的“应用程序”,而不是菜单项的名称。

IAccessible 接口

菜单栏

弹出菜单