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写代码确实很省事。

相关推荐

  1. MFC组合ComboBox使用

    2024-03-27 12:30:05       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-27 12:30:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-27 12:30:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-27 12:30:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-27 12:30:05       20 阅读

热门阅读

  1. 《促进和规范数据跨境流动规定》答记者问

    2024-03-27 12:30:05       17 阅读
  2. yarn安装和使用及与npm的区别

    2024-03-27 12:30:05       18 阅读
  3. Redis常见问题及解决方案

    2024-03-27 12:30:05       20 阅读
  4. SpringBoot 统一后端返回格式、处理全局异常

    2024-03-27 12:30:05       19 阅读
  5. spark累加器

    2024-03-27 12:30:05       15 阅读