0xAA55 发表于 2016-5-15 06:48:48

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


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

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

Private Sub Form_Load()
Dim HeadNode As Long
Dim ExportNode As Long
Dim ImportNode As Long
Dim ResourceNode As Long

Dim SegmentNode As Long

With tvStruct
    HeadNode = .AddNode("头部", 0)
    ExportNode = .AddNode("导出", 0)
    ImportNode = .AddNode("导入", 0)
    ResourceNode = .AddNode("资源", 0)
   
    .AddNode "EXE 头部", 0, HeadNode
    .AddNode "PE 头部", 0, HeadNode
    .AddNode "可选头部", 0, HeadNode
    SegmentNode = .AddNode("段落头部", 0, HeadNode)
   
    .AddNode ".text", 0, SegmentNode
    .AddNode ".data", 0, SegmentNode
    .AddNode ".rsrc", 0, SegmentNode
   
    .AddNode "kernel32.dll", 0, ImportNode
    .AddNode "user32.dll", 0, ImportNode
    .AddNode "gdi32.dll", 0, ImportNode
End With
End Sub示范exe:
7z附件校验信息:(单个exe文件)49152 字节
SHA256: E7A096EDBCE90754C788BDC8FC4E6BEB9BD9C4EFDF97F042BAF10DDCD87BA4C8
源码下载请先回帖。**** Hidden Message *****

0xAA55 发表于 2016-5-15 06:49:46

现在发帖如果发Bin,我会带上哈希校验信息,以防止中间人攻击。

账号已注销 发表于 2016-5-15 18:33:19

已学习! :)

Golden Blonde 发表于 2016-5-16 11:45:05

A5真厉害!

3dvr 发表于 2016-5-25 20:23:41

:) 学习~ 学习~

qtman 发表于 2016-11-17 10:10:27

收下了了

Gamma 发表于 2017-11-23 16:03:22

kjkjj 不依赖ocx,借助ListBox实现自己的TreeView [修改]
高级模式

nmcfbgttyl 发表于 2017-12-29 23:09:21

这个很好,试一试

涐吢铱舊囿儚 发表于 2017-12-30 12:50:03

呵呵,有点意思。不过感觉实用性不太大。:lol

0xAA55 发表于 2018-1-1 02:32:29

涐吢铱舊囿儚 发表于 2017-12-30 12:50
呵呵,有点意思。不过感觉实用性不太大。

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

搬砖工 发表于 2018-9-15 00:44:59

看看用的什么手段

系统消息 发表于 2019-11-1 16:05:33

0xAA55 发表于 2018-1-1 02:32
实用性还是有的。用它的话你就可以减少对某TreeView的ocx的依赖了。

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

0xAA55 发表于 2019-11-6 15:22:00

系统消息 发表于 2019-11-1 16:05
感觉不想依赖ocx的话,完全可以用CreateWindow创建系统原生控件,封装到UserControl里面就行了。 ...

麻烦。

hxin123456 发表于 2020-4-3 22:30:27

看看学习下

大宝 发表于 2020-7-8 10:24:53

本帖最后由 china_shy_wzb 于 2020-7-20 14:00 编辑

自己动手,借助ListBox实现Listview

xiawan 发表于 2022-5-9 16:02:16

非常感谢~~支持~~~

angelindark55 发表于 2023-5-19 15:08:20

谢谢分享,前来考古
页: [1]
查看完整版本: 【VB】不依赖ocx,借助ListBox实现自己的TreeView