AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TreeView kopieren

Ein Thema von toms · begonnen am 7. Jan 2004 · letzter Beitrag vom 19. Nov 2005
Antwort Antwort
Benutzerbild von toms
toms
(CodeLib-Manager)

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

TreeView kopieren

  Alt 7. Jan 2004, 15:01
Hi,

Möchte eine TreeView Struktur in einen TTreeView kopieren.
(Auch wenn der TreeView in einer anderen Application ist)

Das funktioniert schon mal ganz gut, aber es durchlauft nicht alle
Knoten. Irgendwo ist an der Rekursion was nicht richtig.
Kann mir da jemand weiterhelfen?

danke!

// Ein vollständiges Beispielprojekt befindet sich in der Anlage
Delphi-Quellcode:
  procedure AddNodes(hTree: HWND; ASrc: HTREEITEM; ADst: TTreeNode);
  var
    NextDst: TTreeNode;
    NextSrc: HTREEITEM;
  begin
    {if not Assigned(ASrc) then
     Exit;}


    TVItem.hItem := ASrc;
    TVItem.mask := TVIF_TEXT or TVIF_IMAGE or TVIF_PARAM;
    MM.Write(TVItem, PrTVItem, SizeOf(TTVItem));
    {Get Next TreeView Item}
    TreeView_GetItem(TreeWnd, PrTVItem^);

    {Add to our TreeView }
    NextDst := Form1.TreeView1.Items.AddChild(ADst, MM.ReadStr(PrText));

    {Get Next TreeView Item}
    NextSrc := TreeView_GetChild(hTree, ASrc);
    while Assigned(NextSrc) do
    begin
     AddNodes(hTree, NextSrc, NextDst);
     NextSrc := TreeView_GetNextItem(hTree, NextSrc, TVGN_NEXT);
    end;
  end;
Angehängte Dateien
Dateityp: zip treeview.zip (4,8 KB, 12x aufgerufen)
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

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

Re: TreeView kopieren

  Alt 7. Jan 2004, 20:25
Hallo???
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#3

Re: TreeView kopieren

  Alt 7. Jan 2004, 20:50
Schieben...nach 5 Stunden

Also. Warum speicherst du den Treeview nicht einfach und lädst ihn anschließend woanders wieder?

Delphi-Quellcode:
TreeView1.SaveToFile('C:\TestTree.tre');
TreeView2.LoadFromFile('C:\TestTree.tre');
Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

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

Re: TreeView kopieren

  Alt 7. Jan 2004, 20:54
Weil der "TreeView1" z.B auch der TreeView vom Explorer sein kann.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#5

Re: TreeView kopieren

  Alt 7. Jan 2004, 21:27
Sorry. Du hattest ja auch geschrieben, dass er in einer anderen App sein kann. Mein Fehler

Dann kann ich dir leider nicht weiterhelfen, hab mich mit dem Thema noch nicht beschäftigt.
Trotzdem noch viel Glück!

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
CyberDevil

Registriert seit: 19. Nov 2005
4 Beiträge
 
#6

Re: TreeView kopieren

  Alt 19. Nov 2005, 17:20
Hallo!

Ich vermute mal, dass sich die Antwort schon längst erledigt hat. Dennoch: das Problem ist nicht die Rekursion, sondern die Tatsache, dass ein TreeView keine Wurzel hat. Das Element, was Du als Wurzel ermittelst, ist das "erste" Element des TreeViews. Mittels GetNextSibling musst Du die anderen Elemente des TreeViews auf dieser Ebene noch ermitteln und AddNodes für diese aufrufen.

Viele Grüße,
CyberDevil
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz