摘要: 先上编辑器单元的代码: unit editlink; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, VirtualTrees; type tcomb 阅读全文
posted @ 2023-05-31 08:48 Luo大哥 阅读(37) 评论(0) 推荐(0) 编辑
摘要: VST的单元格支持编辑,使用普通的编辑很简单,VST提供了一个编辑器,是一个继承自TCUSTOMEDIT的编辑器。 TStringEditLink = class(TInterfacedObject, IVTEditLink); 1、发出编辑请求 向VST发出编辑请求,有以下三种方式: 第一种方式是 阅读全文
posted @ 2023-05-31 08:44 Luo大哥 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 1、拖拽操作需要用到的单元和函数 在讲拖拽操作之前先讲两个过程(procedure): Moveto procedure MoveTo(Source: PVirtualNode; Target: PVirtualNode; Mode: TVTNodeAttachMode; ChildrenOnly: 阅读全文
posted @ 2023-05-31 08:34 Luo大哥 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 这一部分在程序中并未直接使用,只是对VST的一些特性进行讲解,不喜欢的可以跳过。 三、特殊节点 1、Rootnode property RootNode: PVirtualNode; rootnode不是一个具体的节点,是为了锚定树的层次结构,维护的一个内部树节点,这个节点大部分情况下与其他树节点一 阅读全文
posted @ 2023-05-29 15:29 Luo大哥 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 二、节点的遍历 每一个节点都有一个index值,用于描述其在相同level,相同父节点下的序号,但是,遍历时并不能利用这个值,因为这个值是变化的,当进行排序,插入节点、删除节点等等操作时,这个index会发生改变。 同样的,vst.AbsoluteIndex(node)返回的是某一节点在VST中的绝 阅读全文
posted @ 2023-05-29 15:23 Luo大哥 阅读(79) 评论(0) 推荐(0) 编辑
摘要: VST由节点(node)组成,节点的定义如下: PVirtualNode = ^TVirtualNode; TVirtualNode = packed record Index, ChildCount: Cardinal; NodeHeight: Word; States: TVirtualNode 阅读全文
posted @ 2023-05-29 15:14 Luo大哥 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 在绘制以及事件中,需要明确两个名词: ITEM,通常指的是node,因为VST中一个节点就是一项。 CELL(单元格),通常指的是一个VST下的某具体栏(column)。 1、节点图标 VST可以链接两组图标,分别是vst.Images; vst.StateImages; vst.Images用于存 阅读全文
posted @ 2023-05-29 15:04 Luo大哥 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 前面我们知道,创建一个虚拟树,应该首先告知VST节点数据的大小(即nodedatasize),其实在创建树结构时,这一点并不是必须的,而是如果你需要让VST的每一个节点能指向一定的数据,从而在执行树的操作时,能用到这些数据,那么你最适合的方法是定义一个结构类型(record),然后让node.dat 阅读全文
posted @ 2023-05-29 14:54 Luo大哥 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 这两天在使用Firedac进行sqlite数据库编程,遇到了一个问题,这个问题的本身是这样的: 有一个数据库文件,其它一切都正常,但在文件中存在一个有错的INDEX,导致无法使用FIREDAC打开,需要先删除该INDEX后,才能正常使用FIREDAC打开该数据库文件,然而如果删除该INDEX,则会对 阅读全文
posted @ 2023-04-07 01:12 Luo大哥 阅读(345) 评论(0) 推荐(0) 编辑
摘要: FIREDAC可以自定义sqlite的函数,方法如下: 首先需要一个控件:TFDSQLiteFunction,其设置如下: sqlFunction.DriverLink := FDPhysSQLiteDriverLink1; sqlFunction.FunctionName := 'StockPri 阅读全文
posted @ 2022-11-22 09:23 Luo大哥 阅读(56) 评论(0) 推荐(0) 编辑