我有一个带有X根和X子节点的VirtualStringTree。
每个根都分配了一个特殊的NodeData。 每个子节点都分配了另一个NodeData。 我怎么知道OnFreeNode是哪个?因为我无法在不知道分配给它的记录的情况下释放数据。 任何想法?
答案 0 :(得分: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;