Delphi - TVirtualtreeview封装

时间:2013-10-29 15:37:11

标签: delphi treeview

我需要一个非常快速的树视图,能够列出和滚动数十万个项目,同时嵌套子项目等。标准的Windows树视图控件(用Delphi的TTreeView包装)不能完成任务。这太慢了。

现在我已经检查了TVirtualTreeView这是我需要的速度,但是有一个问题,它根本不像标准树视图那样工作,但是以完全不同的方式。

我想知道使用这个组件的专家是否可以告诉我是否可以将它封装在一个新组件中,以便它具有普通树视图的属性和方法,但保持速度优势?

如果我的问题不明确,我会尝试进一步阐述。

1 个答案:

答案 0 :(得分:1)

我的解决方案是:

  1. 向项目添加新框架
  2. 在其上放置VirtualTreeView并将其与alClient
  3. 对齐
  4. 添加方法和属性,以使框架模仿TTreeView界面
  5. 实施这些方法和属性以处理内部TVirtualTreeView
  6. 实施TVirtualTreeView个事件以模仿TListView行为
  7. 用新框架替换当前的TTreeView
  8. 我想这会让你接近你想要的,平衡复杂性和功能。