Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#1

TVirtualStringTree + Expand Nodes

  Alt 2. Apr 2006, 13:25
Hallo

Ich moechte in einem VST alle Knoten expandieren, welche Unter-Knoten haben,
die anderen Knoten sollen geloescht werden.

Delphi-Quellcode:
var
  Node, PrevNode: PVirtualNode;
begin
  // Erster Node ermitteln
  Node := VST.TopNode;
  repeat
    PrevNode := Node;
    // Falls Node Kinder hat
    if Node.FirstChild <> nil then
    begin
      // expandieren
      Node.States := Node.States + [vsExpanded];
      Node := Node.NextSibling;
    end else
     // sonst Node loeschen
    begin
      Node := Node.NextSibling;
      VST.DeleteNode(PrevNode);
    end;
  until Node = nil;
Im TreeView hat's problemlos funktioniert. Nur der VST wird nach dem Expandieren nicht mehr
richtig gezeichnet (reagiert nicht mehr) und beim Beenden der Applikation erhalte ich eine
EIntOverFlow Exception.

Im Anhang findet Ihr ein Demoprojekt, welches das Problem verdeutlicht.
Angehängte Dateien
Dateityp: zip vst_expand_163.zip (343,3 KB, 7x aufgerufen)
Thomas
  Mit Zitat antworten Zitat