MFC:组合框ComboBox的使用

       在MFC中有一个CComboBox类,内部封装了组合框的各种操作。ComboBox控件是由一个文本输入控件和一个下拉菜单组成的,使用时可以从预先定义的列表里选择一个选项,使用起来很方便。下面将以实例方式介绍组合框的使用方法。
       在VS2022中首先建立一个基于对话框的MFC应用,项目名称定为MFCComboBox,在VS生成的对话框上把“确定”按钮等全部删除( 具体步骤略 )。接下来,从工具箱中拖入Combo Box(组合框)控件。右键组合框,类型选择Dropdown,这是一个下拉类型的组合框,用途最广。
为了在代码中方便使用这个组合框,我们给这个组合框添加变量m_dropdown(方法是右键组合框,选择添加变量,然后按照提示做,注意变量类型要选“控件”)。
       此时,如果我们运行这个项目,组合框已经显示在对话框上,只是组合框是空的无内容。我们打开“解决方案资源管理器”,可以看到VS自动生成了数个头文件、源文件以及资源文件,不管这些,在源文件MFCComboBoxDlg.cpp中找到BOOL CMFCComboBoxDlg::OnInitDialog()函数,这是初始化函数,我们在这个函数中对组合框进行初始化,为其添加供选择的内容。具体在TODO:下面添加下列代码:

for (int i = 0; i < 20; i++) 
{
	CString temp;
	temp.Format(L"项目%02d",i);
	m_dropdown.AddString(temp); //添加选择项
}
	m_dropdown.SetCurSel(0); //设置默认选择项

       这时,我们再运行程序,可以看到组合框有了可选内容,那么,怎样获得组合框选中的是第几个选项呢?为方便显示选中的内容,我们在对话框上再添加文本编辑框,并给文本编辑框添加控件变量:m_Edit。
       接下来的操作是:右键组合框->选择添加处理程序->类列表选 CMFCComboBoxDlg->消息类型选 CBN_SELCHANGE->其余按缺省;按确认按钮后,我们回到MFCComboxDlg.cpp会看到多了一个函数void CMFCComboBoxDlg::OnCbnSelchangeCombo(),在这个函数TODO:下面,我们添加下列代码:

	int temp = m_dropdown.GetCurSel();
	CString str;
	str.Format(L"项目%02d选中", temp);
	m_Edit.SetWindowTextW(str);

      到这一步,我们再运行程序,我们在组合框选到什么,下面的文本编辑框就做相应显示。MFC写代码确实很省事。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值