![]() |
TreeView kopieren
Liste der Anhänge anzeigen (Anzahl: 1)
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; |
Re: TreeView kopieren
Hallo???
|
Re: TreeView kopieren
Schieben...nach 5 Stunden :?
Also. Warum speicherst du den Treeview nicht einfach und lädst ihn anschließend woanders wieder?
Delphi-Quellcode:
Man liest sich, Stanlay :hi:
TreeView1.SaveToFile('C:\TestTree.tre');
TreeView2.LoadFromFile('C:\TestTree.tre'); |
Re: TreeView kopieren
Weil der "TreeView1" z.B auch der TreeView vom Explorer sein kann.
|
Re: TreeView kopieren
:wall: Sorry. Du hattest ja auch geschrieben, dass er in einer anderen App sein kann. Mein Fehler :wall:
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 :hi: |
Re: TreeView kopieren
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz