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. XSS语义分析的阶段性总结(二)

    本文首发于“合天智汇”微信公众号,作者:Kale 前言 上次分享了javascript语义分析,并且简单介绍了新型xss扫描器的一些想法,如何在不进行大量fuzz的情况下又能准确的检测出xss漏洞,这 ...

  2. 安装和使用redis

    我现在只是在window上使用redis在其他平台上暂时没有操作过,如果你有其他好的意见欢迎提出来! 安装redis具体可查看:http://www.runoob.com/redis/redis-in ...

  3. 如何用hugo 搭建博客

    1,Hugo 简介 搭建个人博客有很多开源的博客框架,我们要介绍的框架叫作Hugo.Hugo 是一个基于Go 语言的框架,可以快速方便的创建自己的博客. Hugo 支持Markdown 语法,我们可以 ...

  4. java零基础自学网站分享

    俗话说工欲善其事,必先利其器,今天给大家分享一个java自学网站:how2j,这是一个有十年淘宝工作经验大牛的制作的网站,距离现在已经有三四年了,这个网站包含的知识非常的多,从基础的环境变量配置一直到 ...

  5. 【高并发】由InterruptedException异常引发的思考

    写在前面 InterruptedException异常可能没你想的那么简单! 前言 当我们在调用Java对象的wait()方法或者线程的sleep()方法时,需要捕获并处理InterruptedExc ...

  6. 痞子衡嵌入式:揭秘i.MXRT1170 eFuse空间访问可靠性的保护策略(冗余与ECC)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MXRT1170的eFuse空间访问可靠性保护策略. 关于i.MXRT系列的eFuse/OTP,痞子衡之前在介绍Boot时写过 ...

  7. 【阅读笔记】Ranking Relevance in Yahoo Search (一)—— introduction & background

    ABSTRACT: 此文在相关性方面介绍三项关键技术:ranking functions, semantic matching features, query rewriting: 此文内容基于拥有百 ...

  8. POJ 1170 Shopping Offers非状态压缩做法

    Shopping Offers Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5659 Accepted: 2361 Descr ...

  9. Codeforces 1291 Round #616 (Div. 2) C. Mind Control(超级详细)

    C. Mind Control You and your n−1 friends have found an array of integers a1,a2,-,an. You have decide ...

  10. 数学--数论--HDU 2674 沙雕题

    WhereIsHeroFrom: Zty, what are you doing ? Zty: I want to calculate N!.. WhereIsHeroFrom: So easy! H ...