组合框可以通过类型和风格来表征。组合框类型确定组合框列表是否是下拉列表以及选择字段是否是编辑控件。只有当用户打开它时,才会显示一个下拉列表,因此它的屏幕空间比始终可见的列表少。如果选择字段是编辑控件,则用户可以输入不在列表中的信息;否则,用户只能选择列表中的项目。
下表显示了三个组合框类型,并指示每个组合框是否包含下拉列表和编辑控件:
组合框类型 | 下拉列表 | 编辑控件 |
下拉组合框 | 是 | 是 |
下拉列表框 | 是 | No |
简单的组合框 | No | 是 |
组合框样式定义组合框的特定属性。应用程序可以组合样式;但是某些样式仅适用于某些组合框类型。下表描述了组合框样式:
样式 | 描述 |
CBS_AUTOHSCROLL | 当用户在行尾输入一个字符时,将编辑控件中的文本自动滚动到右侧。如果未设置此样式,则只允许符合矩形边界的文本。 |
CBS_DISABLENOSCROLL | 当框不包含足够的项目滚动时,在列表框中显示禁用的垂直滚动条。没有这种风格,当列表框不包含足够的项目时,滚动条被隐藏。 |
CBS_DROPDOWN | 指定一个下拉组合框。 |
CBS_DROPDOWNLIST | 指定一个下拉列表框。 |
CBS_HASSTRINGS | 指定所有者绘制的组合框包含由字符串组成的项目。组合框维护字符串的内存和地址,以便应用程序可以使用CB_GETLBTEXT消息来检索特定项目的文本。 |
CBS_LOWERCASE | 转换为小写所有选择字段和列表中的所有文本。 |
CBS_NOINTEGRALHEIGHT | 指定组合框的大小完全是应用程序创建组合框时指定的大小。通常,Windows将组合框设置为不显示部分项目。 |
CBS_OEMCONVERT | 将组合框编辑控件中输入的文本从Windows字符集转换为OEM字符集,然后返回到Windows集合。当应用程序调用{??989796061}函数将组合框中的Windows字符串转换为OEM字符时,可确保适当的字符转换。对于包含文件名的组合框,此样式最为有用,仅适用于使用CBS_SIMPLE或CBS_DROPDOWN样式创建的组合框。 |
CBS_OWNERDRAWFIXED | 指定列表框的所有者负责绘制其内容,并且列表框中的项目都具有相同的高度。创建组合框时,所有者窗口接收到WM_MEASUREITEM消息,当组合框的视觉方面已更改时,该窗口将收到WM_DRAWITEM消息。 |
CBS_OWNERDRAWVARIABLE | 指定列表框的所有者负责绘制其内容,并且列表框中的项目的高度是可变的。当组合框的视觉方面已更改时,创建组合框和WM_DRAWITEM消息时,所有者窗口将收到组合框中每个项目的WM_MEASUREITEM消息。 |
CBS_SIMPLE | 指定一个简单的组合框。 |
CBS_SORT | 自动对添加到列表框的字符串进行排序。 |
CBS_UPPERCASE | 转换为大写选择字段和列表中的所有文本。 |