在MFC中,CComboBox类实现了对组合框控件的封装,它提供了组合框操作相关的函数,常用的函数及其功能如表7-16所示。
表7-16 CComboBox类主要成员函数及其功能
函数名称 | 函数功能 |
GetCount | 取得组合框的列表框中项的个数 |
GetCurSel | 取得组合框的列表框中当前选中项(如果有的话)的下标 |
SetCurSel | 在组合框的列表框中选择一个字符串 |
取得组合框的编辑控件中当前选项的起止字符位置 | |
SetEditSel | 选中组合框的编辑控件中的字符 |
SetItemData | 设置组合框中指定项的值 |
GetItemData | 检索应用为组合框的项提供的值 |
GetTopIndex | 返回组合框中列表框的第一个可见项的下标 |
SetTopIndex | 让组合框的列表框显示指定下标所在的项 |
SetHorizontalExtent | 设置组合框中列表框的水平宽度(以像素为单位),如果列表超过该宽度,将需要用滚动条 |
GetHorizontalExtent | 返回组合框中列表框的水平宽度(以像素为单位) |
LimitText | 设置用户可以在组合框的编辑控件中输入的文本的最大长度 |
SetItemHeight | 设置组合宽中列表框的项的高度或编辑控件(或静态控件)中文本的高度 |
GetItemHeight | 取得组合框中列表项的高度 |
GetLBTextLen | 取得组合框的列表框中某个字符串的长度 |
GetLBText | 从组合框的列表框中取得一个字符串 |
GetDroppedState | 检测组合框的列表框是否可见(是否已经下拉) |
AddString | 在组合框的列表框的列表末尾添加一个字符串,或在具有CBS_ SORT风格的的列表框中按次序所在的位置插入一个字符串 |
DeleteString | 删除组合框中的列表框中的一个字符串 |
InsertString | 在组合框的列表框中插入一个字符串 |
ResetContent | 删除组合框的列表框和编辑控件中的所有项 |
FindString | 在组合框的列表框中查找具有指定前缀的第一个字符串 |
FindStringExact | 在组合框的列表框中查找具有与指定字符串完全匹配的第一个字符串 |
SelectString | 在组合框的列表框中查找字符串,找到后选中它,并把它复制到编辑控件中 |
在对话框中,组合框的最常用操作就是获取用户的选择项,其使用可表示如下:
CComboBox* m_combo=GetDlgItem(“IDC_COMBOBOX”) //获取组合框的指针
int nselect= m_combo->GetCurSel(); //获取当前组合框选项的索引
CString szname;
m_combo->GetLBText(nselect,szname); //组合框选项的标题
另外,经常还需要通过AddString和DeleteString添加、删除组合框项。可见,其使用与列表框有很大的相似