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

注意

本主题介绍用于 MSAA UI 元素引用 的列表视图控件 对象。 此处未介绍如何在各种 UI 框架中创建 列表视图控件 对象。 请参阅所使用的 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 属性;但是,每个列表视图项的 Description 属性都是该项的第二列和后续列中包含的文本。 在每个列的文本之间插入一个逗号。
get_accFocus
get_accHelp
get_accHelpTopic
get_accKeyboardShortcut 列表视图对象没有键盘快捷方式。 但是,如果列表视图控件的窗口文本包含一个与 (&) 字符,则 Microsoft Active Accessibility 将返回非 Null 字符串作为 KeyboardShortcut 属性。
get_accName 列表视图对象的 Name 是从控件的窗口文本 (或描述文字) 获取的。 此文本不会随列表视图控件一起显示,因此服务器开发人员必须在控件的资源定义语句中提供有意义的文本,以帮助客户端实用工具的用户识别控件。 对于列表视图项, Name 属性是列表项的文本。
get_accParent 列表视图对象的 级是一个窗口 ( ROLE_SYSTEM_WINDOW ) 包围控件,并且与控件具有相同的 Name 属性和窗口类名称。 列表视图项的 Parent 属性是列表视图对象。
get_accRole 角色ROLE_SYSTEM_LIST,列表视图控件中的每个项都具有 Role 属性ROLE_SYSTEM_LISTITEM
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_OFFSCREENSTATE_SYSTEM_NORMAL
此外,检查框列表视图项也有状态STATE_SYSTEM_CHECKED

说明

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

IAccessible 接口