2
我有一個帶有X根和X個子節點的VirtualStringTree。VirtualStringTree如何釋放多個節點
每個根都有一個特殊的NodeData分配。 每個子節點都分配了另一個NodeData。 我如何知道OnFreeNode是哪個?原因在不知道將哪個記錄分配給它的情況下,我無法釋放數據。 任何想法?
我有一個帶有X根和X個子節點的VirtualStringTree。VirtualStringTree如何釋放多個節點
每個根都有一個特殊的NodeData分配。 每個子節點都分配了另一個NodeData。 我如何知道OnFreeNode是哪個?原因在不知道將哪個記錄分配給它的情況下,我無法釋放數據。 任何想法?
要確定節點級別,請使用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;
謝謝。我也忘記了nodedatasize是一個固定的大小。 – 2012-08-03 21:43:09