【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 ***** 现在发帖如果发Bin,我会带上哈希校验信息,以防止中间人攻击。 已学习! :) A5真厉害! :) 学习~ 学习~ 收下了了 kjkjj 不依赖ocx,借助ListBox实现自己的TreeView [修改]
高级模式
这个很好,试一试 呵呵,有点意思。不过感觉实用性不太大。:lol 涐吢铱舊囿儚 发表于 2017-12-30 12:50
呵呵,有点意思。不过感觉实用性不太大。
实用性还是有的。用它的话你就可以减少对某TreeView的ocx的依赖了。 看看用的什么手段 0xAA55 发表于 2018-1-1 02:32
实用性还是有的。用它的话你就可以减少对某TreeView的ocx的依赖了。
感觉不想依赖ocx的话,完全可以用CreateWindow创建系统原生控件,封装到UserControl里面就行了。 系统消息 发表于 2019-11-1 16:05
感觉不想依赖ocx的话,完全可以用CreateWindow创建系统原生控件,封装到UserControl里面就行了。 ...
麻烦。 看看学习下
本帖最后由 china_shy_wzb 于 2020-7-20 14:00 编辑
自己动手,借助ListBox实现Listview 非常感谢~~支持~~~ 谢谢分享,前来考古 好东西
页:
[1]