菜单项(MSAA UI 元素参考)

注意

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

菜单项表示菜单栏或弹出菜单中的特定项。 例如,Microsoft活动辅助功能为菜单栏中的 文件 菜单创建菜单项对象。 同样,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 属性是菜单项的访问键,它是菜单项名称文本中的带下划线字符。 例如,File 菜单项的 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_TAKEFOCUSaccSelect 方法不会导致菜单项打开或关闭弹出菜单。 客户端使用 accDoDefaultAction 方法打开或关闭弹出菜单。
  • 不显示弹出菜单的菜单栏项返回 Name 属性的“应用程序”,而不是菜单项的名称。

IAccessible 接口

菜单栏

弹出菜单