Search code examples
delphidelphi-xevirtualtreeviewtvirtualstringtree

How to remove all nodes from TVirtualStringTree?


How to remove all nodes, including VirtualStringTree descendants, in the event handler closes the form containing VirtualStringTree ?


Solution

  • To delete all nodes from a TVirtualStringTree or its descendant use the Clear method (but note that the Clear method is virtual and can be overriden by some descendant. However, the implementer should keep the original purpose of this method, which is clearing the tree. If not, then it's just a wrong implementation in my view:

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      VirtualStringTree1.Clear;
    end;