ListBox 控件

ListBox 控件是一个常规列表框,使用户能够从预先确定的值列表中进行单个选择。 可以从 Listbox 表读取可能的值。 可以通过在 控件表的“属性”列中输入属性的名称来关联字符串或整数属性

控件属性

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

属性标识符 十六进制位 描述
IndirectPropertyName 这是与控件关联的间接属性的名称。 如果设置了 Indirect 属性位,控件将显示或更改具有此名称的属性的值。 如果设置了 Indirect 属性位,则此名称也是 Control 表的“属性”列中列出的属性的值
位置 控件在对话框中的位置。 将控件左角的宽度、高度和坐标输入到 控件表的 Width、Height、X 和 Y 列。 使用 安装程序单位 长度和距离。
PropertyName 这是与此控件关联的属性的名称。 如果未设置间接属性位,控件将显示或更改具有此名称的属性的值。 此属性在 Control 表的属性列中指定。
PropertyValue 此控件显示或更改的属性的当前值。 如果未设置 Indirect 属性位,则此值为 PropertyName 的值。 如果设置了 Indirect 属性位,则这是 IndirectPropertyName 的值。 如果属性发生更改,控件将反映新值。
文本 屏幕阅读器显示的文本。 输入要显示在 控件表“文本”列中的文本。 若要设置文本字符串的字体和字体样式,请使用 {\style} 或 {&style} 作为显示字符字符串的前缀。 其中样式是 TextStyle 表的 TextStyle 列中列出的标识符。 如果两者都不存在,但 DefaultUIFont 属性定义为有效的文本样式,将使用该字体。
可见 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 列指定的顺序显示项。
UsersLanguage 0x00000000 0x00100000
在数据库代码页中创建的字体。 在用户的默认 UI 代码页中创建的字体。

 

言论

可以使用 CreateWindowEx 函数从 LISTBOX 类创建此控件。 它具有 WS_TABSTOPWS_GROUPWS_CHILD 样式。 如果排序控件样式位打开,则使用 LBS_NOTIFYWS_VSCROLLWS_BORDER 样式创建控件,否则使用 LBS_STANDARD 样式创建控件。