Thema: Delphi Arbeiten mit TTreeView

Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
972 Beiträge
 
Delphi 6 Professional
 
#5

AW: Arbeiten mit TTreeView

  Alt 7. Jan 2016, 20:20
Hmm..

oder man nutzt die möglichkeiten des TreeNodes:

Delphi-Quellcode:
      for k := 0 to length(varStringArray)-1 do
      begin
        // Leere Tags ignorieren
        if varStringArray[k] = 'then Continue;

        // erstes Node holen
        varTreeNodeItem := TreeView.TopItem;

        // Vergleichen, ob Tag vorhanden
        while Assigned(varTreeNodeItem) do begin
          if varTreeNodeItem.Text = varStringArray[k] then begin
            // Objekt zu bereits existierendem Tag hinzufügen
            TreeView.Items.AddChild(varTreeNodeItem, FObjects[i].ItemCaption);
            Break;
          end;
          // Nächstes Node der 'gleich' Ebene
          varTreeNodeItem := TreeView.TopItem.getNextSibling;
        end;

        // Wenn kein existierender Zweig gefunden, dannn anhängen
        if not Assigned(tmpTreeNode) then begin
          varTreeNodeItem := TreeView.Items.Add(nil, varStringArray[k]);
          TreeView.Items.AddChild(varTreeNodeItem, FObjects[i].ItemCaption);
        end;
      end;
Damit wird nur noch durch die HauptNodes durchgegangen, ohne alle Unternodes zu Prüfen!

Vor allem wird nun wirklich nur nach den Tags gesucht, da beim Durchgehen der ganzen Liste auch TreeNode.Text von den untergeordneten FObjects[i].ItemCaption mit verglichen wird und somit bei einem ItemCaption = Tag dort ein Unter-Node eingefügt wird...
  Mit Zitat antworten Zitat