找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 8776|回复: 16

【VB】不依赖ocx,借助ListBox实现自己的TreeView

[复制链接]

1111

主题

1651

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24239 个
贡献
46222 次
宅之契约
0 份
在线时间
2297 小时
注册时间
2014-1-26
发表于 2016-5-15 06:48:48 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
20160515071629.png
效果马马虎虎,但基本功能都有。
这个TreeView是用ListBox实现的。VB6需要引用mscomctl.ocx才能使用Windows的标准风格的TreeView,为了能减少这个依赖,我们可以自己实现一个TreeView。典型的就是利用ListBox来实现。

用法很简单,用AddNode来添加节点,返回值是节点Id,可以通过制定AddNode的“父节点Id”参数来给节点添加子节点。
范例代码:
  1. Option Explicit

  2. Private Sub Form_Load()
  3. Dim HeadNode As Long
  4. Dim ExportNode As Long
  5. Dim ImportNode As Long
  6. Dim ResourceNode As Long

  7. Dim SegmentNode As Long

  8. With tvStruct
  9.     HeadNode = .AddNode("头部", 0)
  10.     ExportNode = .AddNode("导出", 0)
  11.     ImportNode = .AddNode("导入", 0)
  12.     ResourceNode = .AddNode("资源", 0)
  13.    
  14.     .AddNode "EXE 头部", 0, HeadNode
  15.     .AddNode "PE 头部", 0, HeadNode
  16.     .AddNode "可选头部", 0, HeadNode
  17.     SegmentNode = .AddNode("段落头部", 0, HeadNode)
  18.    
  19.     .AddNode ".text", 0, SegmentNode
  20.     .AddNode ".data", 0, SegmentNode
  21.     .AddNode ".rsrc", 0, SegmentNode
  22.    
  23.     .AddNode "kernel32.dll", 0, ImportNode
  24.     .AddNode "user32.dll", 0, ImportNode
  25.     .AddNode "gdi32.dll", 0, ImportNode
  26. End With
  27. End Sub
复制代码
示范exe: A5_TR33V13W_Bin.7z (10.1 KB, 下载次数: 23)
7z附件校验信息:(单个exe文件)49152 字节
SHA256: E7A096EDBCE90754C788BDC8FC4E6BEB9BD9C4EFDF97F042BAF10DDCD87BA4C8
源码下载请先回帖。
游客,如果您要查看本帖隐藏内容请回复

本帖被以下淘专辑推荐:

回复

使用道具 举报

1111

主题

1651

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24239 个
贡献
46222 次
宅之契约
0 份
在线时间
2297 小时
注册时间
2014-1-26
 楼主| 发表于 2016-5-15 06:49:46 | 显示全部楼层
现在发帖如果发Bin,我会带上哈希校验信息,以防止中间人攻击。
回复 赞! 靠!

使用道具 举报

13

主题

63

回帖

1326

积分

用户组: 上·技术宅

UID
888
精华
0
威望
0 点
宅币
302 个
贡献
948 次
宅之契约
0 份
在线时间
36 小时
注册时间
2015-5-31
发表于 2016-5-15 18:33:19 | 显示全部楼层
已学习!
回复

使用道具 举报

55

主题

275

回帖

9352

积分

用户组: 管理员

UID
77
精华
16
威望
237 点
宅币
8217 个
贡献
251 次
宅之契约
0 份
在线时间
254 小时
注册时间
2014-2-22
发表于 2016-5-16 11:45:05 | 显示全部楼层
A5真厉害!
回复

使用道具 举报

0

主题

2

回帖

19

积分

用户组: 初·技术宅

UID
1715
精华
0
威望
2 点
宅币
13 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2016-5-24
发表于 2016-5-25 20:23:41 | 显示全部楼层
学习~ 学习~
回复 赞! 靠!

使用道具 举报

0

主题

3

回帖

14

积分

用户组: 初·技术宅

UID
967
精华
0
威望
1 点
宅币
9 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2015-7-18
发表于 2016-11-17 10:10:27 | 显示全部楼层
收下了了
回复

使用道具 举报

1

主题

4

回帖

17

积分

用户组: 初·技术宅

UID
3035
精华
0
威望
1 点
宅币
10 个
贡献
0 次
宅之契约
0 份
在线时间
1 小时
注册时间
2017-11-2
发表于 2017-11-23 16:03:22 | 显示全部楼层
kjkjj 不依赖ocx,借助ListBox实现自己的TreeView [修改]
高级模式
回复 赞! 靠!

使用道具 举报

0

主题

7

回帖

21

积分

用户组: 初·技术宅

UID
3274
精华
0
威望
2 点
宅币
10 个
贡献
0 次
宅之契约
0 份
在线时间
1 小时
注册时间
2017-12-29
发表于 2017-12-29 23:09:21 | 显示全部楼层
这个很好,试一试
回复 赞! 靠!

使用道具 举报

0

主题

6

回帖

37

积分

用户组: 初·技术宅

UID
2709
精华
0
威望
2 点
宅币
27 个
贡献
0 次
宅之契约
0 份
在线时间
3 小时
注册时间
2017-7-20
发表于 2017-12-30 12:50:03 | 显示全部楼层
呵呵,有点意思。不过感觉实用性不太大。
回复 赞! 靠!

使用道具 举报

1111

主题

1651

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24239 个
贡献
46222 次
宅之契约
0 份
在线时间
2297 小时
注册时间
2014-1-26
 楼主| 发表于 2018-1-1 02:32:29 | 显示全部楼层
涐吢铱舊囿儚 发表于 2017-12-30 12:50
呵呵,有点意思。不过感觉实用性不太大。

实用性还是有的。用它的话你就可以减少对某TreeView的ocx的依赖了。
回复 赞! 靠!

使用道具 举报

0

主题

41

回帖

89

积分

用户组: 小·技术宅

UID
1457
精华
0
威望
2 点
宅币
44 个
贡献
0 次
宅之契约
0 份
在线时间
8 小时
注册时间
2016-1-29
发表于 2018-9-15 00:44:59 | 显示全部楼层
看看用的什么手段
回复 赞! 靠!

使用道具 举报

9

主题

177

回帖

1万

积分

用户组: 真·技术宅

UID
4293
精华
6
威望
441 点
宅币
8675 个
贡献
850 次
宅之契约
0 份
在线时间
338 小时
注册时间
2018-9-19
发表于 2019-11-1 16:05:33 | 显示全部楼层
0xAA55 发表于 2018-1-1 02:32
实用性还是有的。用它的话你就可以减少对某TreeView的ocx的依赖了。

感觉不想依赖ocx的话,完全可以用CreateWindow创建系统原生控件,封装到UserControl里面就行了。
回复 赞! 靠!

使用道具 举报

1111

主题

1651

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24239 个
贡献
46222 次
宅之契约
0 份
在线时间
2297 小时
注册时间
2014-1-26
 楼主| 发表于 2019-11-6 15:22:00 | 显示全部楼层
系统消息 发表于 2019-11-1 16:05
感觉不想依赖ocx的话,完全可以用CreateWindow创建系统原生控件,封装到UserControl里面就行了。 ...

麻烦。
回复 赞! 靠!

使用道具 举报

0

主题

53

回帖

103

积分

用户组: 小·技术宅

UID
5780
精华
0
威望
2 点
宅币
46 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2020-4-3
发表于 2020-4-3 22:30:27 | 显示全部楼层
看看学习下
回复 赞! 靠!

使用道具 举报

1

主题

60

回帖

333

积分

用户组: 中·技术宅

UID
6035
精华
0
威望
2 点
宅币
266 个
贡献
0 次
宅之契约
0 份
在线时间
29 小时
注册时间
2020-7-7
发表于 2020-7-8 10:24:53 | 显示全部楼层
本帖最后由 china_shy_wzb 于 2020-7-20 14:00 编辑

自己动手,借助ListBox实现Listview
回复 赞! 靠!

使用道具 举报

1

主题

159

回帖

626

积分

用户组: 大·技术宅

UID
7535
精华
0
威望
0 点
宅币
466 个
贡献
0 次
宅之契约
0 份
在线时间
71 小时
注册时间
2021-10-16
发表于 2022-5-9 16:02:16 | 显示全部楼层
非常感谢~~支持~~~
回复 赞! 靠!

使用道具 举报

0

主题

7

回帖

52

积分

用户组: 小·技术宅

UID
6068
精华
0
威望
2 点
宅币
41 个
贡献
0 次
宅之契约
0 份
在线时间
5 小时
注册时间
2020-7-20
发表于 2023-5-19 15:08:20 | 显示全部楼层
谢谢分享,前来考古
回复 赞! 靠!

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-4-23 14:52 , Processed in 0.053947 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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