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?的更多相关文章

  1. Delphi Virtual String Tree 基本用法

    首先建立树节点所用的记录类型 type HXL_TNode = record name:string; desc:string; BRoot:Boolean; 定义该类型指针 pHXL_TNode = ...

  2. 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 ...

  3. Virtual Treeview - Paint cycles and stages

    The most complex process in Virtual Treeview is without doubts its painting. Read here what stages V ...

  4. ext js layout and tree

    数据     <configuration> <configSections> <section name="hibernate-configuration&q ...

  5. [leetcode] 根据String数组构造TreeNode,用于LeetCode树结构相关的测试用例

    LeetCode 跟树结构相关的题目的测试用例中大多是通过String数组来构造树.例如{2,#,3,#,4,#,5,#,6},可以构造出如下的树(将树结构逆时针选择90度显示): 6         ...

  6. 3、C#面向对象:封装、继承、多态、String、集合、文件(下)

    面向对象多态 一.装箱和拆箱 装箱:将值类型转换为引用类型.object o = 1:值类型给引用类型赋值 拆箱:将引用类型转换为值类型.int n = (int)o; 强制转换为值类型 满足条件:两 ...

  7. 抛开react,如何理解virtual dom和immutability

    去年以来,React的出现为前端框架设计和编程模式吹来了一阵春风.很多概念,无论是原本已有的.还是由React首先提出的,都因为React的流行而倍受关注,成为大家研究和学习的热点.本篇分享主要就聚焦 ...

  8. 基础知识系列☞Abstract和Virtual→及相关知识

    转载地址→http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html 在C#的学习中,容易混淆virtual方法和abstract方法的 ...

  9. virtual修饰符

    virtual(C# 参考) virtual 关键字用于修饰方法.属性.索引器或事件声明,并使它们可以在派生类中被重写. 例如,此方法可被任何继承它的类重写. public virtual doubl ...

随机推荐

  1. Apache Rewrite实现URL的跳转和域名跳转

    Apache Rewrite实现URL的跳转和域名跳转   Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基 于服务器级的(httpd.conf)和目录级的 (.h ...

  2. 获取 ProgramData 之类的环境变量(文件夹路径)的值

    GetEnvironmentVariable Recognized Environment Variables https://docs.microsoft.com/en-us/windows/dep ...

  3. 用Python来揭秘吃瓜群众是如何看待罗志祥事件的

    前言 最近娱乐圈可以说得上是热闹非凡,前有霸道总裁爱小三,正宫撕逼网红女,后有阳光大男孩罗志祥,被周扬青扒的名声扫地.贵圈的爱情故事,常人是难以理解的,正如贾旭明张康这段相声所说的这样,娱乐圈的爱情总 ...

  4. AbstractQueuedSynchronizer与ReentrantLock

    介绍 j.u.c包中的Lock定义了锁的行为. 而ReentrantLock是并发包下提供的一个锁的实现,它是一个可重入的.排他的锁. ReentrantLock有的属性也很简单,除了一个serial ...

  5. 《PostgreSQL服务器编程》一一1.3 超越简单函数

    本节书摘来自华章计算机<PostgreSQL服务器编程>一书中的第1章,第1.3节,作者:(美)Hannu Krosing, Jim Mlodgenski, Kirk Roybal 著,更 ...

  6. 无向图双连通分量BCC(全网最好理解)

    不是标题党,之前我也写过一篇比较全的,但是对于初学者不友好.传送门? 双连通分量(Biconnected component):     1.边双联通 E-BCC     2.点双连通 V-BCC 双 ...

  7. Python (深浅拷贝)

    1.深拷贝  -->  克隆一份,修改拷贝后的内容不对原对象内容产生影响 拷贝后修改序列中元素内容,注意:被修改的元素不能为一个序列中的某个值 a = [["北京多测师",& ...

  8. 一只简单的网络爬虫(基于linux C/C++)————浅谈并发(IO复用)模型

    Linux常用的并发模型 Linux 下设计并发网络程序,有典型的 Apache 模型( Process Per Connection ,简称 PPC ), TPC ( Thread Per Conn ...

  9. YUM 安装lnmy

    yum -y install nginx systemctl start nginx.service yum -y install php php-fpm php-mysql php-gd libjp ...

  10. Linux中的程序和进程,PID和PPID

    环境:Vmware Workstation:CentOS-6.4-x86_64 程序和进程: 1.程序:程序是静止的,程序就是磁盘上的一个文件. 2.进程:进程是一个正在执行的程序的实例. 3.进程是 ...