Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - TTreeView- FirstNode löschen, alles darunter eins höher


Sönke - Do 08.12.11 21:02
Titel: TTreeView- FirstNode löschen, alles darunter eins höher
Moin,
stehe grad ein wenig aufn Schlauch.
ich habe ein TreeView, wo ich eigtl alle Root-Einträge löschen möchte, den Baum darunter aber nicht, also so das Level 1 zum neuen Root wird.

Also so siehts momentan aus:
+Hallo1
···-Unter1
······-Unter1.1
+Hallo2
···-Unter2

Und das soll rauskommen:
+Unter1
···-Unter1.1
+Unter2

Also eigtl das Gegenteil von DeleteChildren.
Gibs da was einfaches? Oder muss ich da wirklich das ganze Ding durchklappern?

Danke für eure Bemühungen :)


bummi - Do 08.12.11 22:59

Aufruf für einen einzelnen Basisknoten

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Procedure RemoveBase(bn:TTreenode);
var
 i:Integer;
 n:TTreenode;
begin

   n := bn.getFirstChild;
   While assigned (n) do
    begin
    n.MoveTo(nil,naAdd);
    n := bn.getFirstChild;
    end;
   bn.free;
end;


Sönke - Fr 09.12.11 17:23

jo, sauber. Tausend Dankschön.
Habs mit MoveTo auch schon halb hinbekommen, war aber wohl zu blöd dafür ^^
Schönes Wochenende