什么是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。

原文地址:https://www.cnblogs.com/luohq001/p/12914717.html