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);
	}

}
相关推荐
炸膛坦客4 小时前
单片机/C/C++八股:(二十四)编译文件( .bin 和 .hex ,包括 .elf 和 .axf )
c语言·c++·单片机
疯狂成瘾者4 小时前
Java 常见集合方法
java·windows·python
web守墓人4 小时前
【python】uv解决依赖安装缓慢的问题
开发语言·python·uv
cpp_25015 小时前
P10098 [ROIR 2023] 地铁建设 (Day 2)
数据结构·c++·算法·贪心·二分答案·洛谷题解
倒流时光三十年5 小时前
MyBatis @MapKey 注解详解
windows·mybatis
生活、追梦者5 小时前
【Windows】 CMD 黑窗口命令大全
windows·命令行·cmd·运维技巧
geovindu6 小时前
CSharp: Bridge Pattern
开发语言·后端·桥接模式·结构型模式
hehelm6 小时前
IO 多路复用 — Reactor
linux·服务器·网络·数据库·c++
এ慕ོ冬℘゜6 小时前
深入 JavaScript BOM:掌握 window 对象的窗口控制魔法
开发语言·javascript·ecmascript
2501_941982056 小时前
企业微信二次开发:如何用 Python 搭建通用的 Webhook 实时消息接收
开发语言·python·企业微信