Windows图形界面(GUI)-MFC-C/C++ - 组合框(Combo Box) - CComboBox

目录

[组合框(Combo Box) - CComboBox](#组合框(Combo Box) - CComboBox)

基本概念

成员方法

示例代码


组合框(Combo Box) - CComboBox

基本概念
  • 组合框类型:组合框可以是简单的(只能从列表中选择),也可以是下拉式的(允许用户输入和选择)。

  • 数据绑定:组合框可以绑定到数据源,以便动态显示数据。

  • 事件处理:可以响应用户的选择事件,如选择项的改变。

成员方法
  • Create:创建组合框控件并将其附加到 CComboBox 对象。

  • AddString:向组合框的列表部分添加一个字符串。

  • DeleteString:从组合框的列表部分删除一个字符串。

  • InsertString:在组合框的列表部分的指定位置插入一个字符串。

  • ResetContent:清除组合框中的所有字符串。

  • GetCount:获取组合框中字符串的数量。

  • GetCurSel:获取组合框中当前选中项的索引。

  • SetCurSel:设置组合框中当前选中的字符串。

  • GetLBText:从组合框的列表部分获取指定索引的字符串。

  • GetLBTextLen:获取组合框的列表部分指定索引的字符串长度。

  • SetDroppedWidth:设置组合框下拉列表的最小宽度。

示例代码
cpp 复制代码
void CMainDlg::OnBnClickedButton18()
{
	CString strComboText;
	m_ComboItem.GetWindowTextW(strComboText);
	if (strComboText.IsEmpty() == FALSE)
	{
		m_ComboBox.AddString(strComboText);
	}
}

void CMainDlg::OnBnClickedButton22()
{
	if (m_ComboBox.GetCount() > 0)
	{
		m_ComboBox.SetCurSel(0);
	}
}

void CMainDlg::OnBnClickedButton19()
{
	int nIndex = m_ComboBox.GetCurSel();
	if (nIndex != CB_ERR)
	{
		m_ComboBox.DeleteString(nIndex);
		OnBnClickedButton22();
	}
}

void CMainDlg::OnBnClickedButton20()
{
	int nIndex = m_ComboBox.GetCurSel();
	if (nIndex != CB_ERR)
	{
		CString strComboText;
		m_ComboItem.GetWindowTextW(strComboText);
		m_ComboBox.InsertString(nIndex, strComboText);
	}
}

void CMainDlg::OnBnClickedButton21()
{
	m_ComboBox.ResetContent();
}

void CMainDlg::OnBnClickedButton23()
{
	int nIndex = m_ComboBox.GetCurSel();
	if (nIndex != CB_ERR)
	{
		CString strComboText;
		m_ComboBox.GetLBText(nIndex, strComboText);
		AfxMessageBox(strComboText);
	}
}

void CMainDlg::OnCbnDropdownCombo2()
{
	m_ComboBox.ResetContent();

	CString strComboText;

	for (size_t i = 0; i < 5; i++)
	{
		strComboText = "Item";
		m_ComboBox.AddString(strComboText);
	}

}
相关推荐
Syntech_Wuz几秒前
从 C 到 C++:容器适配器 std::stack 与 std::queue 详解
数据结构·c++·容器··队列
沐知全栈开发5 分钟前
Bootstrap4 表格详解
开发语言
CryptoRzz16 分钟前
欧美(美股、加拿大股票、墨西哥股票)股票数据接口文档
java·服务器·开发语言·数据库·区块链
wulitoud20 分钟前
[好用工具] 一款mac/windows电脑历史剪切板工具,类似著名的Paste
windows·macos·sublime text
Never_Satisfied39 分钟前
在JavaScript / HTML中,div容器在内容过多时不显示超出的部分
开发语言·javascript·html
APItesterCris1 小时前
构建弹性数据管道:利用淘宝商品 API 进行流式数据采集与处理
linux·数据库·windows
艾莉丝努力练剑1 小时前
【C++STL :stack && queue (一) 】STL:stack与queue全解析|深入使用(附高频算法题详解)
linux·开发语言·数据结构·c++·算法
胡萝卜3.01 小时前
深入理解string底层:手写高效字符串类
开发语言·c++·学习·学习笔记·string类·string模拟实现
kyle~1 小时前
计算机系统---CPU的进程与线程处理
linux·服务器·c语言·c++·操作系统·计算机系统
西柚小萌新2 小时前
【Python从入门到精通】--Pycharm增加内存
开发语言·python·pycharm