如何更新VirtualStringTree滚动条?

时间:2011-07-01 09:00:31

标签: delphi scrollbar virtualtreeview tvirtualstringtree

我很难在VirtualStringTree上解决我的问题。

  • NodeData最初添加了 Node.NodeHeight
  • DefaultNodeHeight

现在的问题是我要将每个 NodeHeight 更改为不同的大小。结果,VirtualStringTree没有给我一个正确的滚动,导致其他节点无法看到。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

这是因为VT在初始化所有节点之前都不知道树的总高度(它们的高度已知)。因此,一种选择是强制所有节点初始化。这当然反对VT的“虚拟范式”,但如果你只有少量的节点,那就不是那么糟糕了。另一种选择是将DefaultNodeHeight设置为您要使用的最大NodeHeight(如果您事先知道的话),因此VT将假定所有未初始化的节点都具有该高度。