IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 【MFC开发(9)】列表控件List Box -> 正文阅读

[数据结构与算法]【MFC开发(9)】列表控件List Box

1.列表框中添加数据

(1)顺序加入

dlg初始化函数中进行添加

//给列表框中添加数据
	m_listbox.AddString(_T("111"));
	m_listbox.AddString(_T("000"));
	m_listbox.AddString(_T("222"));

效果如下所示,默认是会给排序的,不是按添加顺序来的

如果不想让其排序,可在属性中修改sort属性为false即可,则会按照添加顺序来从上到下显示数据

(2)自定义插入某个位置

//自定义位置插入数据
	//第一个参数为序号
	//第二个参数为插入的数据内容
	m_listbox.InsertString(1,_T("999"));
	m_listbox.InsertString(1, _T("aaa"));

虽然都插入的是序号1的位置,但是插入之后序号就改变了再继续找序号1进行插入

?

2.删除列表框中的数据

(1)删除某个序列的数据,这里设置一个按钮点击事件来删除第一个数据,每点击一次就删除当前第一个数据哈

void CMFC_Test1Dlg::OnBnClickedButton12()
{
	// TODO:  在此添加控件通知处理程序代码
	//删除指定索引的数据
	//每点击一次就删除第一个列表选项
	m_listbox.DeleteString(0);
}

?

?(2)清空所有数据,这里设置一个按钮点击事件来清空列表框中的所有数据

void CMFC_Test1Dlg::OnBnClickedButton13()
{
	// TODO:  在此添加控件通知处理程序代码

	//删除列表框中的全部数据
	m_listbox.ResetContent();

}

?

?3.获取列表中数据的数量

//获取列表中的数据的数量并且弹出提示
	int list_num = m_listbox.GetCount();
	CString str;
	str.Format(_T("%d"), list_num);
	MessageBox(str);

?4.设置列表框选中某条数据

//设置默认选中某条数据
	m_listbox.SetCurSel(1);

?

5.获得当前列表框中选中的数据序列号

//获得当前列表框中选中的数据序列号
	int idx = m_listbox.GetCurSel();

返回以0开始的选中的数据索引,如果没选中任何一条数据,则返回 -1.

6.列表框的多选模式:

刚才给大家讲解的 SetCurSel 和 GetCurSel 都是针对列表框的单选模式进行的,大家在使用其它的软件的时候也注意过有的列表框控件是支持多选的,还支持 Ctrl、Shift 键快捷操作。控件的 Selection 属性进行修改。默认是 Single,也就是单选。我们可以改成 Multiple、Extended,都是多选的意思。其中 Extended 支持 Ctrl、Shift 键操作。None:选中item,但是不高亮,只显示该item上交点(item外有矩形框)。

(1)设置选中多条数据

	//设置选中多条数据
	m_listbox.SetSel(0);
	m_listbox.SetSel(1);
	m_listbox.SetSel(2);

(2)获取选中的序列号

//获得当前选中的行数
	int list_sel = m_listbox.GetSelCount();
	if (list_sel > 0){
		//新建一个变量来作为缓冲区来存放
		int *p = new int[list_sel];
		//获取选中的数据
		//第一个参数是数量,第二个参数是缓冲区
		m_listbox.GetSelItems(list_sel, p);

		for (int i = 0; i < list_sel; i++){
			//获取选中的序列号
			int i_sel = p[i];
		}
	}

7.获得选中的数据内容

//获得选中的数据内容
	CString str_list;
	//第一个参数对应序列号,第二个对应保存的变量
	m_listbox.GetText(0, str_list);

?

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-05-10 12:08:32  更:2022-05-10 12:09:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:40:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码