按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
直接在Enter listbox items处键入组合框中的可选项,每一行为一
个选项,使用Ctrl+Enter键开始新的一行。在运行时这些选项将出现
在组合框的列表框中。
图6。 53 为组合框预置选项
MFC类CboBox封装了Windows标准组合框,其成员函数提供了对组
合框控件的常见操作的实现。表给出了对在类CListBox中定义的成员
函数的描述。
表6。 29 在类CListBox中定义的成员函数
成员函数 描述
…………………………………………………………Page 377……………………………………………………………
CboBox 构造一个CboBox对象
Create 创建一个组合框并将它与CboBox对象相
关联
InitStorage 为组合框的列表框部分的项和字符串预先分
配内存块
GetCount 获得组合框中列表框项的数 目
GetCurSel 如果存在的话,返回组合框中列表框的当前
选定项的索引
SetCurSel 选择组合框中列表框内的一条字符串
GetEditSel 获得组合框中编辑控件的当前选定的起始和
终止字符位置
SetEditSel 在组合框的编辑控件中选定字符
SetItemData 设置与组合框中指定项相关联的32位值
SetItemDataPtr 将与组合框中指定项相关联的32位值设置为
指定的void指针
GetItemData 获得由应用程序提供的与指定组合框项相关
联的32位值
GetItemDataPtr 以void指针的形式返回由应用程序提供的与
指定组合框项相关联的32位值
GetTopIndex 返回组合框中列表框部分的第一个可视项的
索引
SetTopIndex 在组合框中的列表框部分的顶部显示指定索
引对应的项
SetHorizontalExtent 以象素为单位指定组合框的列表框部分可以
横向滚动的宽度
GetHorizontalExtent 以象素为单位获得组合框中列表框部分可以
横向滚动的宽度
SetDroppedWidth 为组合框的下拉列表框部分设置最小允许宽
度
GetDroppedWidth 获得组合框的下拉列表框部分的最小允许宽
度
Clear 如果存在的话,删除编辑控件中当前选定的
内容
…………………………………………………………Page 378……………………………………………………………
Copy 如果存在的话,将当前选定以CF_TEXT格式
复制到剪贴板
Cut 如果存在的话,删除编辑控件中当前选定的
内容,并将其以CF_TEXT格式复制到剪贴板
Paste 当剪贴板包括CF_TEXT格式的数据时,从剪
贴板复制数据到编辑控件的当前插入位置
LimitText 设置用户可以在组合框的编辑控件中输入的
文本的长度限制
SetItemHeight 设置组合框中列表项的高度或编辑控件 (或
静态文本控件)部分的高度
GetItemHeight 获得组合框中列表项的高度
GetLBText 从组合框中的列表框获取字符串
续表6。29
成员函数 描述
GetLBTextLen 获得组合框的列表框中某一字符串的长度
ShowDropDown 对于具有CBS_DROPDOWN或
CBS_DROPDOWNLIST属性的组合框,显示或
隐藏其列表框
GetDroppedControlRect 获得下拉组合框的可视 (下拉)列表框的屏
幕坐标
GetDroppedState 判断下拉组合框的列表框是否可见(处理
下拉状态)
SetExtendedUI 对于具有CBS_DROPDOWN或
CBS_DROPDOWNLIST样式的组合框,选择默
认用户界面或扩展用户界面
GetExtendedUI 判断组合框具有默认用户界面还是扩展用
户界面
GetLocale 获得组合框的区域标识符
SetLocale 设置组合框的区域标识符
AddString 向组合框的列表框添加一字符串,对于具
有CBS_SORT样式的组合框,新增加的字符
串将被排序并插入到合适的位置,否则将
被添加到列表框框的末尾
…………………………………………………………Page 379……………………………………………………………
DeleteString 从组合框的列表框中删除字符串
InsertString 向组合框的列表框中插入一字符串
ResetContent 清除组合框的列表框和编辑控件中的所有
内容
Dir 添加文件名列表到组合框的列表框中
FindString 在组合框的列表框中查找包括指定前缀的
第一个字符串
FindStringExact 在组合框的列表框中查找与指定字符串匹
配的字符串
SelectString 在组合框的列表框中查找字符串,如果找
到的话,在列表框中选择该字符串,并将
字符串复制到编辑控件中
DrawItem 当一个自绘制组合框的可视部分改变时由
框架调用
MeasureItem 在创建自绘制组合框时,由框架调用以判
断组合框的尺寸
pareItem 当将一新项插入到排序的自绘制框中时由
框架调用以判断项的相对位置
DeleteItem 当一列表项被从自绘制组合框中删除时由
框架调用
下面的示例程序演示了自绘制组合框的使用。
1。 使用AppWizard创建名为boDemo的基于对话框的工程,按图
6。54添加工程的主对话框 (IDD_BODEMO_DIALOG)中的各个控件。每
个控件的属性如表6。30所示。
2。 在ClassView中用鼠标右击boDemo classes,选择New Class命
令。上面的操作将弹出如图6。55所示的对话框,确认在Class type下
拉列表框'注' 中选择了MFC Class。然后在Name处输入新的类名
CClrboBox,在Base class下拉列表框中选择CboBox。如果需
要修改新类的头文件或实现文件的文件名,可以单击Change按钮,这
里,我们接受默认的文件名ClrboBox。cpp和ClrboBox。h。
…………………………………………………………Page 380……………………………………………………………
图6。 54 工程boDemo的主对话框
表6。 30 对话框IDD_BODEMO_DIALOG的控件属性设置
控件类 ID 属性值
型
组合框 IDC_CLRBO Type:Dropdown
Owner draw:
Fixed
Sort:真