摘要: 这一部分在程序中并未直接使用,只是对VST的一些特性进行讲解,不喜欢的可以跳过。 三、特殊节点 1、Rootnode property RootNode: PVirtualNode; rootnode不是一个具体的节点,是为了锚定树的层次结构,维护的一个内部树节点,这个节点大部分情况下与其他树节点一 阅读全文
posted @ 2023-05-29 15:29 Luo大哥 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 二、节点的遍历 每一个节点都有一个index值,用于描述其在相同level,相同父节点下的序号,但是,遍历时并不能利用这个值,因为这个值是变化的,当进行排序,插入节点、删除节点等等操作时,这个index会发生改变。 同样的,vst.AbsoluteIndex(node)返回的是某一节点在VST中的绝 阅读全文
posted @ 2023-05-29 15:23 Luo大哥 阅读(64) 评论(0) 推荐(0) 编辑
摘要: VST由节点(node)组成,节点的定义如下: PVirtualNode = ^TVirtualNode; TVirtualNode = packed record Index, ChildCount: Cardinal; NodeHeight: Word; States: TVirtualNode 阅读全文
posted @ 2023-05-29 15:14 Luo大哥 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 在绘制以及事件中,需要明确两个名词: ITEM,通常指的是node,因为VST中一个节点就是一项。 CELL(单元格),通常指的是一个VST下的某具体栏(column)。 1、节点图标 VST可以链接两组图标,分别是vst.Images; vst.StateImages; vst.Images用于存 阅读全文
posted @ 2023-05-29 15:04 Luo大哥 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 前面我们知道,创建一个虚拟树,应该首先告知VST节点数据的大小(即nodedatasize),其实在创建树结构时,这一点并不是必须的,而是如果你需要让VST的每一个节点能指向一定的数据,从而在执行树的操作时,能用到这些数据,那么你最适合的方法是定义一个结构类型(record),然后让node.dat 阅读全文
posted @ 2023-05-29 14:54 Luo大哥 阅读(135) 评论(0) 推荐(0) 编辑