1)定义控件变量
对已创建的Dialog,从控件工具箱将Combo Box 控件拖放到上面。打开 Class Wizard,添加控件对应变量,如:CComboBox m_combo。
2) 在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。Vc++中换行用ctrl+回车。若在VS2010中,Items间用";"隔开即可;
3) 利用函数 AddString()向 Combo Box 控件添加Items,如:
m_combo.AddString(“第一”);
m_combo.AddString(“第二”);
m_combo.AddString(“第三”);
初始化列表框:
CString strTemp;
for(int i=1;i<=100;i++)
{
strTemp.Format("%d",i);
m_Combo.AddString(strTemp);
}
4) 添加完成后,设置Combo Box 控件的默认显示(不点击下拉框所显示的内容)如:
m_Combo.SetCurSel(n) 数字n代表列中第n+1项序号
5) 调用函数 InsertString() 将 Item 插入指定位置 nIndex(前提列表框已有内容),如:
m_Combo.InsertString(nIndex, “StringData”);
6) m_Combo.GetCount()可以得到当前列表框中行的数量;
7) 删除列表控件内容
m_Combo.ResetContent(); //消除现有所有内容
也可以利用函数DeleteString(),需要指定被删除项的位置,如下:
m_Combo.DeleteString(n); 数字n代表列表框第n+1项
8) 控件列表中已经选定某项,现在要得到被选定项的内容
这里会用到两个函数,如下:
int nIndex = m_Combo.GetCurSel();
CString strText;
m_Combo.GetLBText( nIndex, strText);
这样,得到的内容就保存在 strText 中。若要选取当前内容,可调用函数GetWindowText(strText),也可以直接将strText赋值给一个CString类型的变量
9) 列表框大小改变
直接在控件上操作,先点向下的箭头,就可以调整下拉框大小;若是列表框的下拉框比较小,在vs2010中将一个也不显示,其实里面已有内容!
10)设置控件属性
1)Sort 属性:设置为 true,则新添加项将按字母顺序插入到列表中;否则,在列表的结尾处插入项。
2)Type属性:设置为Drop List,则使ComboBox不能输入只能在下拉菜单中选择;设置Dropdown,则ComboBox中允许输入内容。
3)No integralheight属性,表示最大长度为设计长度,如果实际内容比设计长度多,就出现滚动条,少就以实际长度显示。