ListView 控件

ListView 控件,该控件显示一列值,每个项旁边都有一个图标。 它使用户能够从预先确定的列表中选择属性的单个字符串或整数值。 可以从 listView 表 读取可能的值。 通过将属性的名称输入到 控件表的“属性”列,可以将控件与整数或字符串值相关联。

ListView 控件永远不会显示 控件表 的 Text 字段的内容。 相反,此字段指定控件要显示的文本样式,并包含屏幕审阅实用工具使用的控件的说明。 若要设置文本字符串的字体和字体样式,请使用 {\style} 或 {&样式的字符串作为前缀,}。 其中样式是 TextStyle 表的 TextStyle 列中列出的标识符。 如果两者都不存在,但 DefaultUIFont 属性定义为有效的文本样式,将使用该字体。 屏幕评审实用工具将阅读以下信息作为控件的说明。 请参阅 辅助功能

控件属性

可以将以下属性用于此控件。 若要使用事件更改属性的值,请将控件订阅到 EventMapping 表中的 ControlEvent,并在 Attribute 列中列出属性的标识符。 在事件列中输入 ControlEvent 的标识符。

属性标识符 十六进制位 描述
IndirectPropertyName 这是与控件关联的间接属性的名称。 如果设置了 Indirect 属性位,控件将显示或更改具有此名称的属性的值。 如果设置了 Indirect 属性位,则此名称也是 Control 表的“属性”列中列出的属性的值
位置 控件在对话框中的位置。 将控件左角的宽度、高度和坐标输入到 控件表的 Width、Height、X 和 Y 列。 使用 安装程序单位 长度和距离。
PropertyName   这是与此控件关联的属性的名称。 如果未设置间接属性位,控件将显示或更改具有此名称的属性的值。 此属性在 Control 表的属性列中指定。
PropertyValue 此控件显示或更改的属性的当前值。 如果未设置 Indirect 属性位,则此值为 PropertyName 的值。 如果设置了 Indirect 属性位,则这是 IndirectPropertyName 的值。 如果属性发生更改,控件将反映新值。
文本 若要在屏幕阅读器中显示文本,请在 控件表的“文本”列中输入文本。 请参阅 辅助功能
可见 0x00000000 0x00000001
隐藏的控件。 可见控件。
将此位包含在 Control 表的 Attributes 列的位词中, 以使控件在创建时可见或隐藏。
还可以使用 ControlCondition 表隐藏或显示控件。
已启用 0x00000000 0x00000002
处于禁用状态的控制。 处于启用状态的控制。
控件 的属性列中将此位包含在位词中,以便在创建时启用控件。
也可以使用 ControlCondition 表启用或禁用控件。
沉没 0x00000000 0x00000004
显示默认视觉样式。 显示具有沉没的 3D 外观的控件。
将这些位包含在 控件表的“属性”列中的位词中。
间接 0x00000000 0x00000008
该控件显示或更改 控件表的“属性”列中的属性的值。 该控件显示或更改属性的值,该属性的标识符列在控件表的“属性”列中。
确定是否间接引用与此控件关联的属性。
整数 0x00000000 0x00000010
与控件关联的属性是一个字符串值。 与控件关联的属性是一个整数值。
控件表的 Attributes 列的位单词中包含此位, 在创建控件时设置此属性。
RTLRO 0x00000000 0x00000020
控件中的文本按从左到右的阅读顺序显示。 控件中的文本以从右到左的阅读顺序显示。
RightAligned 0x00000000 0x00000040
控件中的文本与左侧对齐。 控件中的文本与右侧对齐。
LeftScroll 0x00000000 0x00000080
滚动条位于控件右侧。 滚动条位于控件左侧。
BiDi 0x000000E0 RTLRORightAlignedLeftScroll 属性的组合设置此值。
已排序的 0x00000000 0x00010000
按字母顺序显示的项。 ListView 表中指定的顺序显示的项。
将此位包含在 Attributes 列中的位词中,以 ListView 表的 Order 列指定的顺序显示项。
FixedSize 0x00000000 0x00100000
拉伸图标图像以适应控件。 裁剪或居中控件中的图标图像。
将此位包含在 控件表的 Attributes 列的位词中。
iconSize 0x00000000 0x00200000
0x00400000
0x00600000
加载第一个图像。 加载前 16x16 图像。
加载前 32x32 图像。
加载前 48x48 图像。
图标文件可以包含相同图标的不同大小图像。 在 Control 表的属性列中包括相应位字的值
如果未设置这些位,安装程序将忽略 FixedSize 属性,并拉伸图像以适应控件矩形。 如果同时设置了 IconSize 位和 FixedSize 位,则小于控件居中的图像,并且图像大于它收缩以适应的控件。

 

言论

可以使用 CreateWindowEx 函数从 WC_LISTVIEW 类创建此控件。 它具有 LVS_REPORTLVS_NOCOLUMNHEADERWS_VSCROLLWS_HSCROLLLVS_SHAREIMAGELISTSLVS_SINGLESELLVS_SHOWSELALWAYSWS_BORDERWS_TABSTOP 样式。 如果排序样式位未打开,控件还具有 LVS_SORTASCENDING 样式。

为了与屏幕阅读器兼容,在将具有 ListView 控件的对话框创作为第一个活动控件时,必须将属于编辑字段的文本字段设为 对话框表中的第一个活动控件。 由于静态文本不能获得焦点,因此在创建对话框时,编辑字段最初将按预期获得焦点,但这样做可确保屏幕阅读器显示正确的信息。