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 | 为 RTLRO、RightAligned和 LeftScroll 属性的组合设置此值。 |
已排序的 | 0x00000000 0x00010000 |
按字母顺序显示的项。
ListView 表中指定的顺序显示的项。 将此位包含在 Attributes 列中的位词中,以 ListView 表的 Order 列指定的顺序显示项。 |
UsersLanguage | 0x00000000 0x00100000 |
在数据库代码页中创建的字体。 在用户的默认 UI 代码页中创建的字体。 |
言论
可以使用 CreateWindowEx 函数从 LISTBOX 类创建此控件。 它具有 WS_TABSTOP、WS_GROUP和 WS_CHILD 样式。 如果排序控件样式位打开,则使用 LBS_NOTIFY、WS_VSCROLL和 WS_BORDER 样式创建控件,否则使用 LBS_STANDARD 样式创建控件。