菜单项 (MSAA UI 元素引用)

备注

本主题介绍用于 MSAA UI 元素引用的 菜单项 对象。 此处不介绍如何在各种 UI 框架中创建 Menu Item 对象。 请参阅所使用的 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 属性是菜单项的访问键,它是菜单项名称文本中的带下划线字符。 例如,“文件”菜单项的 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 属性返回“Application”,而不是菜单项的名称。

IAccessible 接口

菜单栏

弹出菜单