List-View 控件(MSAA UI 元素参考)

注意

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

列表视图控件显示项集合,每个项由图标和标签组成,并提供多种显示和排列项的方法。 例如,有关每个项的其他信息显示在图标和标签右侧的列中。 Windows 资源管理器使用列表视图控件来显示文件。

列表视图控件的窗口类名称WC_LISTVIEW,该名称在 Commctrl.h 中定义为“SysListView”。

IAccessible 方法

列表视图控件支持以下 IAccessible 方法:

方法 评论
accDoDefaultAction 列表视图对象本身没有 DefaultAction 属性;但是,accDoDefaultAction 方法双击列表视图项。
accHitTest
accLocation
accNavigate
accSelect

IAccessible 属性

列表视图控件支持以下 IAccessible 属性:

财产 评论
get_accChild
get_accChildCount ChildCount 属性是列表中的项数。
get_accDefaultAction 列表视图对象本身没有 DefaultAction 属性;但是,每个列表视图项的 DefaultAction 属性为“双击”。
get_accDescription 列表视图对象本身不支持 Description 属性;但是,每个列表视图项的 说明 属性是项的第二列和后续列中包含的文本。 在每个列的文本之间插入一个逗号。
get_accFocus
get_accHelp
get_accHelpTopic
get_accKeyboardShortcut 列表视图对象没有键盘快捷方式。 但是,如果列表视图控件的窗口文本包含与号(&)字符,Microsoft Active Accessibility 将返回非 Null 字符串作为 KeyboardShortcut 属性。
get_accName 列表视图对象的 名称 是从控件的窗口文本(或标题)获取的。 此文本不与列表视图控件一起显示,因此服务器开发人员必须在控件的资源定义语句中提供有意义的文本,以帮助客户端实用工具的用户识别控件。 对于列表视图项,Name 属性是列表项的文本。
get_accParent 列表视图对象的 是围绕控件的窗口(ROLE_SYSTEM_WINDOW),其 Name 属性和窗口类名与控件相同。 列表视图项 属性是列表视图对象。
get_accRole ROLE_SYSTEM_LIST角色,列表视图控件中的每个项都具有 ROLE_SYSTEM_LISTITEMRole 属性。
get_accSelection
get_accState 列表视图对象的 State 属性是以下一个或多个 值的组合STATE_SYSTEM_INVISIBLE | STATE_SYSTEM_UNAVAILABLE | STATE_SYSTEM_FOCUSED | STATE_SYSTEM_FOCUSABLE | STATE_SYSTEM_OFFSCREEN
列表视图项的 State 属性是以下一个或多个值的组合:
STATE_SYSTEM_INVISIBLE | STATE_SYSTEM_FOCUSED | STATE_SYSTEM_FOCUSABLE | STATE_SYSTEM_SELECTABLE | STATE_SYSTEM_SELECTED | STATE_SYSTEM_MULTISELECTABLE | STATE_SYSTEM_HOTTRACKED | STATE_SYSTEM_OFFSCREEN | STATE_SYSTEM_NORMAL
此外,复选框列表视图项还具有状态 STATE_SYSTEM_CHECKED

笔记

  • Microsoft活动辅助功能不会公开应用程序中使用回调函数向项目添加文本的列表视图项文本。
  • 剪裁的列表视图项未设置 STATE_SYSTEM_INVISIBLE。 若要确定列表项是否已剪裁,客户端可以将 accLocation 返回的项坐标与窗口的剪辑区域进行比较
  • Microsoft Active Accessibility 不支持使用 accNavigate 方法导航到位于“详细信息”视图中的列表视图控件中的标头控件。 但是,客户端使用 AccessibleObjectFromPoint 函数访问标头控件。
  • 对于详细信息视图中的非矩形对象(如列表视图项),如果通过 accHitTest 进行测试,则由 accLocation 检索的项边界的坐标失败,因为 accHitTest 会逐像素确定对象的边界。

IAccessible 接口