2

我有一个带有 X 根和 X 子节点的 VirtualStringTree。

每个根都分配了一个特殊的 NodeData。每个子节点都分配了另一个 NodeData。我怎么知道 OnFreeNode 哪个是哪个?因为我无法在不知道分配给它的记录的情况下释放数据。有任何想法吗?

4

1 回答 1

3

要确定节点级别,请使用该GetNodeLevel函数。它返回基于 0 的级别索引,其中 0 表示根节点,1 表示根的孩子,2 表示根的孙等。

所以,OnFreeNode如果你可以使用这样的东西:

procedure TForm1.VirtualTreeFreeNode(Sender: TBaseVirtualTree;
  Node: PVirtualNode);
begin
  case VirtualTree.GetNodeLevel(Node) of
    0: // free your root node data
    1: // free your root's child node data
  end;
end;
于 2012-08-03T21:37:00.410 回答