我需要一个非常快速的树视图,能够列出和滚动数十万个项目,还可以嵌套子项目等。标准的Windows树视图控件(用德尔福的TTreeView
包装)不能胜任这项任务。太慢了。
现在我已经检查了TVirtualTreeView
它的速度与我需要的速度一样快,但是有一个问题,它根本不像标准树视图那样工作,而是以完全不同的方式工作。
我想知道使用此组件的专家是否可以告诉我将其封装在新组件中是否可行,以便它具有普通树视图的属性和方法,但保持速度优势?
如果我的问题不清楚,我将尝试进一步阐述。
我给你的解决方案是:
- 向项目添加新框架
- 在其上放置一个
VirtualTreeView
并将其对齐为alClient
- 添加方法和属性以使框架模仿
TTreeView
接口 - 实现这些方法和属性来处理内部
TVirtualTreeView
- 实现
TVirtualTreeView
事件以模拟TListView
行为
将 - 当前
TTreeView
替换为新框架
我想这会让你接近你想要的,平衡复杂性和功能。