00 Stimmen

Delphi/Lazarus: TreeView vollständig aufklappen oder zuklappen

Frage von Gast | 22.11.2013 um 21:34

Ich benutze eine TTreeView in meinem Programm und würde gerne eine Funktion schreiben, die alle Äste dieser TreeView automatisch aufklappt und eine andere, die dafür sorgt, dass alle Äste wieder geschlossen werden.

Diverse Versuche meinerseits, mit einer Schleife durch die TreeView zu navigieren und den Expand() Befehl auszuführen, haben leider nicht zu einem Ergebnis geführt.

Ich hoffe hier kann mir jemand helfen.

AntwortenPositivNegativDatumStimmen
Avatar
3Beste Antwort5 Stimmen

Nichts leichter als das. Du brauchst gar nicht durch alle Äste automatisch zu navigieren.

Benutze einfach

TreeView1.FullExpand; 

um alle Äste auszuklappen und

TreeView1.FullCollapse;

um alle Äste wieder zu schließen.
22.11.2013 um 23:27

AntwortenPositiv Negativ
Avatar
00 Stimmen

Wenn du trotzdem deine Expand-Funktion benutzen möchtest, kannst du das natürlich auch tun:

if TreeView1.Items[0] <> nil then
   TreeView1.Items[0].Expand(True);

Oder:

if TreeView1.Items.GetFirstNode <> nil then 
   TreeView1.Items.GetFirstNode.Expand(True);

Für den Fall dass das erste Item der TreeView gesetzt ist (sonst gibt es eine Exception), führen wir das Expand() auf dieser ersten TreeView-Node durch. Das "true" sorgt dafür, dass auch alle anderen Äste, die an diesem Node hängen, aufgeklappt werden. Übergeben wir "false", wird nur der Node aufgeklappt, auf dem wir das übergeben.
23.11.2013 um 01:28

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.