mfc 带有复选框的ListBox

mfc 带有复选框的 ListBox

效果:

添加 ListBox 控件

从工具箱拖拽 ListBox 控件到窗口上,并设置属性:

  • 包含字符串:true
  • 所有者描述:Fixed

给ListBox添加控制变量

添加完后,将m_list_box的类型使用CCheckListBox代替CListBox。

添加项

复制代码
	m_list_box.AddString(_T("test list box item 1"));
	m_list_box.AddString(_T("test list box item 2"));
	m_list_box.AddString(_T("test list box item 3"));
	m_list_box.AddString(_T("test list box item 4"));
	m_list_box.AddString(_T("test list box item 5"));

清空所有项

复制代码
	int ncount = m_list_box.GetCount();
	for (int i = ncount - 1; i >= 0; i--)
	{
		m_list_box.DeleteString(i);
	}

获取选中项

复制代码
	CString select_item_text = _T("");
	int total = m_list_box.GetCount();
	for (int i = 0; i < total; i++)
	{
		if (m_list_box.GetCheck(i))
		{
			m_list_box.GetText(i, select_item_text);
		}
	}

设置选中所有项

复制代码
	int total = m_list_box.GetCount();
	for (int i = 0; i < total; i++) 
	{
		m_list_box.SetCheck(i, TRUE);
	}

删除所选项

复制代码
		int ncount = m_list_box.GetCount();
		for (int i = ncount - 1; i >= 0; i--)
		{
			if (m_list_box.GetCheck(i))
			{
				m_list_box.DeleteString(i);
			}
		}
相关推荐
xlp666hub3 小时前
Leetcode 第三题:用C++解决最长连续序列
c++·leetcode
会员源码网5 小时前
构造函数抛出异常:C++对象部分初始化的陷阱与应对策略
c++
xlp666hub7 小时前
Leetcode第二题:用 C++ 解决字母异位词分组
c++·leetcode
不想写代码的星星7 小时前
static 关键字:从 C 到 C++,一篇文章彻底搞懂它的“七十二变”
c++
xlp666hub1 天前
Leetcode第一题:用C++解决两数之和问题
c++·leetcode
不想写代码的星星1 天前
C++继承、组合、聚合:选错了是屎山,选对了是神器
c++
不想写代码的星星2 天前
std::function 详解:用法、原理与现代 C++ 最佳实践
c++
樱木Plus4 天前
深拷贝(Deep Copy)和浅拷贝(Shallow Copy)
c++
blasit6 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
肆忆_7 天前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++