MFC实例:[8] Combo Box列表框控件实例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunjikui1255326447/article/details/89060621

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 

猜你喜欢

转载自blog.csdn.net/sunjikui1255326447/article/details/89060621