本文主要是介绍MFC实例:[8] Combo Box列表框控件实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MFC实例:[8] Combo control 列表框控件实例
1、打开vs2017---》文件--》新建--》项目--》MFC项目----》基于对话框
2、完成后,打开资源文件---》操作如下图,打开设计视图,删除原有的所有控件。
3、添加一个Combo Box控件,ID设置为IDC_WEB_COMBO,Type属性设为Drop List,为下拉列表式组合框,编辑框不允许用户输入,Sort属性设为False,以取消排序显示。再添加一个静态文本控件和一个编辑框,静态文本控件的Caption属性设为“您选择的选项:”,编辑框的ID设为IDC_SEL_WEB_EDIT,Read Only属性设为True。此时的对话框模板如下图:
4、为组合框IDC_WEB_COMBO添加CComboBox类型的控件变量m_combo
5、在对话框初始化时,我们将站点名加入到组合框中,并默认选择第一项,那么需要修改OnInitDialog()函数为:
m_combo.AddString(_T("第一个"));// 为组合框控件的列表框添加列表项m_combo.AddString(_T("第二个"));// 在组合框控件的列表框中索引为1的位置插入列表项 m_combo.InsertString(1, _T("第三个"));// 默认选择第一项 m_combo.SetCurSel(0);// 编辑框中默认显示第一项的文字 SetDlgItemText(IDC_SEL_WEB_EDIT, _T("没有选择"));
6、我们希望在组合框中选中的列表项改变时,将最新的选择项实时显示到编辑框中,那么这就要用到CBN_SELCHANGE通知消息。为列表框IDC_WEB_COMBO的通知消息CBN_SELCHANGE添加消息处理函数-----》如图,点击添加编辑
7、添加完成后,在主对话框中自动生成void CMFCComboBoxDlg::OnCbnSelchangeWebCombo()函数,添加消息代码:
void CMFCComboBoxDlg::OnCbnSelchangeWebCombo()
{// TODO: 在此添加控件通知处理程序代码CString strWeb;int nSel;// 获取组合框控件的列表框中选中项的索引 nSel = m_combo.GetCurSel();// 根据选中项索引获取该项字符串 m_combo.GetLBText(nSel, strWeb);// 将组合框中选中的字符串显示到IDC_SEL_WEB_EDIT编辑框中 SetDlgItemText(IDC_SEL_WEB_EDIT, strWeb);}
8、运行结果:
9、项目地址:
链接:https://pan.baidu.com/s/1z7EupN8W8iq6XgsxIv2Zfg
提取码:g6zv
这篇关于MFC实例:[8] Combo Box列表框控件实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!