VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1062|回复: 22

《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

[复制链接]
51_avatar_middle
online_admins 发表于 2018-11-24 01:19:37 | 显示全部楼层 |阅读模式
1、控件简介:
ListCtrl 高级列表控件也是我们平时编程过程中很常用的一个控件,一般涉及到报表展示、记录展示之类的,都需要ListCtrl 高级列表控件。例如:任务管理器啊,文件列表啊,等等都是ListCtrl 高级列表控件来实现的。

2、控件的风格样式:
LVS_ICON: 为每个item显示大图标
LVS_SMALLICON: 为每个item显示小图标
LVS_LIST: 显示一列带有小图标的item
LVS_REPORT: 显示item详细资料

直观的理解:Windows资源管理器,“查看” 标签下的 “大图标,小图标,列表,详细资料”
具体可以通过代码指定控件的风格样式,也可以方便点,从控件的属性中直接修改:
对应控件的 View 属性:Icon、Small Icon、List、Report 四项。
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

大家看到了吧,主要就是针对这四种风格样式!
比较常用的还是第四种:报表样式!

3、动态设定 ListCtrl 的风格样式:
①、拖动ListCtrl控件到对话框界面上面;
②、绑定CListCtrl类型的控件类型变量:m_List;
③、样式设定:

我们教程中重点讲解 LVS_REPORT 报表样式的 ListCtrl,其他风格,大家课后自行研究吧,网上也有不少这方面的文章!

4、动态设定 ListCtrl 的扩展风格:
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

5、插入列信息:
使用 InsertColumn 插入列信息:
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

InsertColumn 各个参数的讲解,详见视频教程!

6、插入行信息:
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

InsertItem 各个参数的讲解,详见视频教程!

7、设置行文本信息:
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

8、选中和取消选中一行:
9、遍历控件的所有行条目:
10、遍历获得当前选中的行:

大家课后找资料,看看如何能根据第9点的遍历方式,获得当前选中的行号!

11、遍历获得当前CheckBox选中的行:
12、删除行:
删除指定的行:m_List.DeleteItem(1);
删除所有的行:m_List.DeleteAllItems();
大家课后试试:如果我想删除列表控件中索引为0和2的行,怎么删除呢?大家试试
用for循环的话,如何来写代码呢?大家课后试试!

13、编辑指定的行文本:(其实这个跟之前讲解的TreeCtrl很像)
①、将ListCtrl控件的 Edit Labels 设置为 True;
②、响应ListCtrl控件的 LVN_BEGINLABELEDIT 和 LVN_ENDLABELEDIT
③、在 LVN_ENDLABELEDIT 响应函数中加入:
NMLVDISPINFO *pDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);
m_List.SetItemText(pDispInfo->item.iItem, pDispInfo->item.iSubItem, pDispInfo->item.pszText);
备注:这里只能编辑(索引为0的)第1列的文本,其他列的没办法编辑,要想编辑也不是不能,就得自己来搞了!
其实有很多写好的开源控件类,大家直接拿过来用就可以了,多了很多功能。

14、插入图标:跟树形控件 TreeCtrl 的用法基本一致,算是给大家留一个小作业了,自己搞定吧!

15、开源控件类:

https://www.codeproject.com/Arti ... ontrol-with-subitem
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Arti ... that-allows-other-c
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Arti ... l-and-Grouping-Rows
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Arti ... er-listview-control
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Arti ... ewer-using-ListCtrl
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Arti ... ient-version-of-rep
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Articles/3495/Registry-List-Control
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Arti ... operty-List-Control
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Arti ... it-individual-cells
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Arti ... i-line-List-Control
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Arti ... -Based-on-CListCtrl
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

https://www.codeproject.com/Arti ... istCtrl-Give-user-a
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件

16、再来个小作业:
如何让CListCtrl选中行始终保持其蓝色高亮状态,即使在失去焦点的时候?

具体操作细节见视频教程的演示和讲解!


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
教程在线观看地址:
https://www.bilibili.com/video/av38392055/?p=18
https://www.bilibili.com/video/av38392055/?p=19
https://www.bilibili.com/video/av38392055/?p=20
MP4高清视频下载地址:链接:https://pan.baidu.com/s/1iciHovEQVh12p-MYhCiF0w 提取码:5s4l
本节课件下载(回复后可见):
游客,如果您要查看本帖隐藏内容请回复

备注:VIP会员可免费下载本站所有资源(点击查看)
提示:通过购买VC驿站U盘打包(点击查看)也可加入终身Vip会员^_^




上一篇:《实用VC编程之玩转控件》第15课:Tree树形控件
98_avatar_middle
在线会员 发表于 2018-11-24 10:11:46 | 显示全部楼层
继续学习

楼主辛苦
78_avatar_middle
在线会员 发表于 2018-11-24 12:37:56 | 显示全部楼层
又有更新太好啦,谢谢
69_avatar_middle
在线会员 发表于 2018-11-24 20:37:00 | 显示全部楼层
谢谢楼主分享,非常感谢
95_avatar_middle
在线会员 发表于 2018-11-25 11:36:15 | 显示全部楼层
继续学习楼主辛苦
78_avatar_middle
online_vip 发表于 2018-11-26 09:40:22 | 显示全部楼层
感谢Syc大神的分享。
76_avatar_middle
在线会员 发表于 2018-11-26 10:11:56 | 显示全部楼层
感谢Syc大神的分享。
10_avatar_middle
在线会员 发表于 2018-11-27 09:44:53 | 显示全部楼层
感谢老大又更新了,速度下载学习
90_avatar_middle
在线会员 发表于 2018-11-28 10:46:44 | 显示全部楼层
学习,学习!
22_avatar_middle
在线会员 发表于 2018-11-28 16:16:24 | 显示全部楼层
《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件《实用VC编程之玩转控件》第16课:ListCtrl高级列表控件
08_avatar_middle
在线会员 发表于 2018-11-29 20:56:22 | 显示全部楼层
谢谢楼主分享,非常感谢
02_avatar_middle
在线会员 发表于 2018-11-30 03:09:25 | 显示全部楼层
老大辛苦了
75_avatar_middle
在线会员 发表于 2018-11-30 15:27:45 | 显示全部楼层
感谢分享,楼主辛苦
57_avatar_middle
donate_vip 发表于 2018-11-30 19:04:27 | 显示全部楼层

继续学习

楼主辛苦
62_avatar_middle
online_vip 发表于 2018-12-1 15:11:31 | 显示全部楼层
第16课免费试
56_avatar_middle
在线会员 发表于 2018-12-2 09:33:23 | 显示全部楼层
第16课:ListCtrl高级列表控件
83_avatar_middle
online_vip 发表于 2018-12-3 18:25:58 | 显示全部楼层

继续学习

楼主辛苦
13_avatar_middle
online_vip 发表于 2018-12-4 10:01:19 | 显示全部楼层
helloworld
36_avatar_middle
在线会员 发表于 2018-12-4 15:04:03 | 显示全部楼层
看看 不错的啊
61_avatar_middle
在线会员 发表于 2018-12-16 21:22:46 | 显示全部楼层

谢谢楼主分享,非常感谢
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-2-21 14:42

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表