什么是virtual string tree?
Virtual stringtree(以后简称VST)是一个提供源码的免费的第三方插件,支持DELPHI和C++builder,可在http://www.soft-gems.net/下载到最新的版本。
我们先来看看VST对自己的介绍吧:
- 虚拟Treeview非常快。添加一百万个节点只需要700毫秒!这使它成为目前Delphi / BCB市场上最快的树视图。
- Virtual Treeview具有非常小的内存占用量。通过仅为每个节点分配大约60个字节(在字符串树中,基本树仅使用56个字节),它准备好容纳一百万个字节。
- Virtual Treeview针对高速访问进行了优化。根据所需的验证和节点验证状态,遍历一百万个节点仅需要0.5秒。
- 支持多选,包括约束选择,以便只能选择某个初始级别的节点。已经在开发有效算法方面付出了很多努力,例如允许仍然以交互方式修改已经很大的选择集。
- 将整个树绘制到位图或中央PaintTree方法支持打印机。消息WM_PRINT和WM_PRINTCLIENT被正确处理,允许将树绘制成位图(例如,用于分层窗口或实现使用VT作为下拉控件的控件的动画下拉)。
- 有一个OnHint事件可显示节点特定的提示。
- 有一个OnGetHelpContext事件可以检索特定于节点的帮助上下文ID。这包括在用户按下F1时调用的自动树和窗口父控件遍历
- 有一个OnGetPopupMenu事件来检索节点特定的弹出菜单,包括自动树遍历。•除了左按钮之外,还可以使用鼠标右键和右键,并支持使用左键输入的所有内容(拖动,选择等)。当然,可以切换这些替代按钮。
- 可以在树中使用固定的背景图像,并且可以给出一定的偏移量,例如模拟共享背景。
- 支持节点的热门样式(就像浏览器窗口中的链接一样)。可以为此任务分配特殊光标。
- 字符串树支持所谓的静态文本,该静态文本出现在节点的标题之后(在每一列中),并且可以与标题不同地格式化,但不能编辑,选择等。
- 支持自动跨度列模式,如果列的右侧有空列,则该列可以为其标题占用更多空间。这样可以避免剪切长字幕,但仍允许使用多列。
- 可以在每个列中选择一个节点(这是可切换的)以及编辑的节点,使Virtual Treeview也成为某种网格。制表键可用于在单元格之间切换焦点。存在一个特殊选项(toGridExtensions)以支持特定于网格的任务。
- 节点可以具有单独的高度,节点的图像和线条的垂直对齐可以单独调整。
- Virtual Treeview公开其内部状态,如挂起拖动或编辑事件,多选或正在进行扩展。使用此信息,应用程序可以优化其代码执行(状态更新等)。
- 通过应用程序定义的比较回调支持对节点进行排序。此外,可以将树设置为自动排序。
- 提示可以包含多行文本,并镜像显示的节点或列的对齐方式和方向性。对于他们的动画滑动和alpha混合是可用的。
- 也可以使用各种选项和方向进行增量搜索。
- 当拖动和绘制选择(多选)时鼠标靠近边框时,会发生客户区域的自动滚动。
- 字符串树的默认节点高度和默认节点文本可用于避免将许多节点显式设置为相同的起始值。
基本上这些介绍都是真实的,有兴趣的朋友可以根据介绍决定是否采用VST。
什么是virtual string tree?的更多相关文章
- Delphi Virtual String Tree 基本用法
首先建立树节点所用的记录类型 type HXL_TNode = record name:string; desc:string; BRoot:Boolean; 定义该类型指针 pHXL_TNode = ...
- How to let TVirtualStringTree to display an icon in disabled state?
How to let TVirtualStringTree to display an icon in disabled state? I need to display files in a dir ...
- Virtual Treeview - Paint cycles and stages
The most complex process in Virtual Treeview is without doubts its painting. Read here what stages V ...
- ext js layout and tree
数据 <configuration> <configSections> <section name="hibernate-configuration&q ...
- [leetcode] 根据String数组构造TreeNode,用于LeetCode树结构相关的测试用例
LeetCode 跟树结构相关的题目的测试用例中大多是通过String数组来构造树.例如{2,#,3,#,4,#,5,#,6},可以构造出如下的树(将树结构逆时针选择90度显示): 6 ...
- 3、C#面向对象:封装、继承、多态、String、集合、文件(下)
面向对象多态 一.装箱和拆箱 装箱:将值类型转换为引用类型.object o = 1:值类型给引用类型赋值 拆箱:将引用类型转换为值类型.int n = (int)o; 强制转换为值类型 满足条件:两 ...
- 抛开react,如何理解virtual dom和immutability
去年以来,React的出现为前端框架设计和编程模式吹来了一阵春风.很多概念,无论是原本已有的.还是由React首先提出的,都因为React的流行而倍受关注,成为大家研究和学习的热点.本篇分享主要就聚焦 ...
- 基础知识系列☞Abstract和Virtual→及相关知识
转载地址→http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html 在C#的学习中,容易混淆virtual方法和abstract方法的 ...
- virtual修饰符
virtual(C# 参考) virtual 关键字用于修饰方法.属性.索引器或事件声明,并使它们可以在派生类中被重写. 例如,此方法可被任何继承它的类重写. public virtual doubl ...
随机推荐
- 0day笔记(1)PE文件格式与虚拟文件内存的映射
PE文件格式 PE 文件格式把可执行文件分成若干个数据节(section),不同的资源被存放在不同的节中. 一个典型的 PE 文件中包含的节如下: .text 存放着二进制的机器代码 .data 初始 ...
- git在用https进行push时候免输账密的方法
先新建一个文件 $ touch ~/.git-credentials $ vim ~/.git-credentials 进去添加内容(github为github.com,码云为gitee.com) h ...
- 前端日期时间处理建议使用Momen
使用方法 下载: http://momentjs.cn/downloads/moment.js 多语言版本:http://momentjs.cn/downloads/moment-with-local ...
- vs code 打开文件时,取消文件目录的自动定位跟踪
文件-->首选项-->设置-->在搜索栏中搜索:explorer.autoReveal; 去掉勾选即可.
- Scala教程之:可变和不变集合
文章目录 mutable HashMap immutable HashMap 集合在程序中是非常有用的,只有用好集合才能真正感受到该语言的魅力.在scala中集合主要在三个包里面:scala.coll ...
- 【Linux常见命令】lsof命令
lsof - list open files lsof命令用于查看你进程打开的文件,进程打开的端口(TCP.UDP),找回/恢复删除的文件,打开文件的进程. 语法: lsof [选项] [文件] 常用 ...
- 集合框架-day10
day10-集合框架-对象数组的概述与引用 1 集合框架的简单介绍: A:集合的由来 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任 ...
- CF #636 (Div. 3) 对应题号CF1343
unrated 选手悠闲做题,然后只做出四个滚蛋了 符合 div3 一贯风格,没啥难算法 E最后就要调出来了,但还是赛后才A的 CF1343A Candies 传送门 找到一个 \(x\),使得存在一 ...
- zabbix tigger 设置
设置一个内存在10分钟内持续低于某值才告警: 设置方法: 修改模板的tigger configuration - > Template OS linux Active(选择自己的模板)-&g ...
- Element upload组件上传图片与回显图片
场景:新增商品时需要添加商品主图,新增成功之后可编辑 上传图片: <el-form-item label="专区logo:" style="height:160px ...