本帖最后由 ivccav 于 2018-7-16 20:02 编辑
Listview控件是微软通用控件MSCOMCTL.OCX中的一员,因其美观、易用,是VBA使用者最常用的控件之一。Listview控件的应用随处可见,比如你的计算机系统中使用的资源管理器,就是Treeview和Listview做出来的,资源管理器的左边是Treeview控件,右边是Listview。Listview有4种视图,Win7系统的资源管理器有7种显示方式,XP有5种,其中大图标对应Listview的lvwIcon,小图标对应lvwSmallIcon,列表对应lvwList,详细信息则对应lvwReport。
我们主要使用lvwReport视图,即报表视图。要使用Listview,首先需要在窗体的工具箱上→右键→附加控件,选择Microsoft Listview Control 6.0(SP6),如果找不到这个控件,那就需要下载MSCOMCTL.OCX,这是微软的通用控件文件。我在另一帖中已经提供了该控件的下载附件,以及版本冲突的解决办法,可自行去获取:
http://club.excelhome.net/thread-1423746-1-1.html
Listview控件运用非常简单,只有2个对象:ListItem和ColumnHeader对象,其对应的集合是ListItems 和ColumnHeaders 对象。ListItem对象表示Listview控件的行,而ColumnHeader对象表示控件的列,可对这两个对象设置相应属性。ColumnHeader对象决定了控件可以有多少列,当移除其中一列时,所有ListItem对象相应列的数据都将丢失。
本帖将要讲到的内容如下:
1.基础:Listview控件常用方法、属性和事件; 2.基础:Listview两个对象的常用方法和属性; 3.练手:Listview模糊查询窗体的设计; 4.实践:Listview窗体不重复多选的实现; 5.美化:Listview隔行换色的完美实现(前景色和背景色); 6.美化:Listview+Imagelist设置行高; 7.高级:Listview动态加载查询数据的实现; 8.高级:Listview排序方法的完美实现(按字符串、数字、日期和二进制排序); 9.高级:Listview可编辑功能的完美实现
更新说明 2018/7/16 20:02
1.修正了一个错误,删掉了2个字符。左方向键中InkEdit的Left的算法
应该为:
sngNewInkLeft = InkEdit1.Left - .ColumnHeaders(intCol).Width
原来为:
sngNewInkLeft = InkEdit1.Left - .ColumnHeaders(intCol+1).Width
2.增加了新增行和删除行功能,增加了数据库的版本。
附件全部在1楼
补充内容 (2018-9-8 21:09):
用NM_CUSTOMDRAW自定义绘制技术实现Listview控件隔行换色(每个单元格的前景色和背景色均可不同):
http://club.excelhome.net/thread-1428537-1-1.html
补充内容 (2018-9-25 20:00):
疏忽了,数据库为空时,不能rst.movefirst,已加If rst.EOF And rst.BOF Then '判断空数据库,
修改的版本见60楼。
补充内容 (2019-1-13 12:12):
看到网友提问要帮助文件,搜了一下硬盘,发现曾经下载过,但是没有看过。现在分享给大家,里面是多个控件的帮助文件(Imagelist、Listview、Treeview、进度条等9个MSComctlLib库中的控件)。附件 在127楼
补充内容 (2019-1-20 19:57):
补充一款完全可以取代Listview+Listbox+Treeview+Textbox+Combobox的表格神器,操作数据库也无需代码:
http://club.excelhome.net/thread-1454440-1-1.html
补充内容 (2019-5-19 18:19):
Listview中双击打开文件或网址,在151楼:
http://club.excelhome.net/forum. ... p;extra=#pid9943018
补充内容 (2023-3-25 13:29):
使用纯代码实现Listview控件网格线颜色、行高和选中行高亮颜色的设置
https://club.excelhome.net/thread-1657761-1-1.html
补充内容 (2023-3-25 13:36):
设置网格线颜色、行高和选中行颜色,附件在304楼层
https://club.excelhome.net/forum ... ;extra=#pid11214070
补充内容 (2023-5-17 16:56):
Listview虚拟模式极速显示100000000行大数据的实现,标头带全选复选框
https://club.excelhome.net/thread-1662904-1-1.html |