Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Ttreeview Elemente auszeichnen (https://www.delphipraxis.net/64716-ttreeview-elemente-auszeichnen.html)

DarkLord0 7. Mär 2006 11:35


Ttreeview Elemente auszeichnen
 
Hallo,

Ich möchte bei einem TTreeview einzelne Elemente auszeichnen, d.h. ich brauche irgendein Merkmal, mit dem ich ein Item eindeutig identifizieren kann. Die Eigenschaft itemid erfüllt das leider nicht, da die ids scheinbar nach Programmneustart neu vergeben werden. Ich kann zwar einzelne Items mit treeview1.items.item[n] (n=0,1,...) ansteuern, aber ich finde die entsprechende Eigenschaft nicht (zur Not könnte ich ja jedesmal alle Items durchprobieren, aber es muss doch auch anders gehen ..?).

mbamler 7. Mär 2006 11:43

Re: Ttreeview Elemente auszeichnen
 
Zitat:

Zitat von DarkLord0
Hallo,

Ich möchte bei einem TTreeview einzelne Elemente auszeichnen, d.h. ich brauche irgendein Merkmal, mit dem ich ein Item eindeutig identifizieren kann. Die Eigenschaft itemid erfüllt das leider nicht, da die ids scheinbar nach Programmneustart neu vergeben werden. Ich kann zwar einzelne Items mit treeview1.items.item[n] (n=0,1,...) ansteuern, aber ich finde die entsprechende Eigenschaft nicht (zur Not könnte ich ja jedesmal alle Items durchprobieren, aber es muss doch auch anders gehen ..?).

Du könntest mit ...Item.AddObject z.B. ein Integerwert hinzufügen mit dem du die Knoten eindeutig identifizieren kannst.
Um einen Knoten zu finden musst du aber dennoch über alle Items laufen und den von dir gewählten Wert suchen ....

G.
Matthias

DarkLord0 8. Mär 2006 00:27

Re: Ttreeview Elemente auszeichnen
 
Gibt es denn eine vorgegebene Prozedur wie SaveToFile, die jeweils die Data-Eigenschaft der Nodes mitspeichert?

marabu 8. Mär 2006 06:02

Re: Ttreeview Elemente auszeichnen
 
Guten Morgen.

Die Komponente TTreeView ist eine visuelle Komponente und kein Daten-Container. Die Daten liegen in einer externen Speicherstruktur vor - das kann eine nicht-visuelle Baumstruktur oder auch eine rekursive Liste sein. Dort werden alle Informationen verwaltet. Damit der zugehörige Knoten in der Baumansicht nicht ständig über die Ordnungsfunktion ermittelt werden muss, verwendet man die Eigenschaft Data eines TTreeNode als Zeiger auf die entsprechenden Daten. Dadurch sind beliebige Verwaltungs- und Visualisierungstechniken anwendbar. So sollte auch deutlich werden, dass TTreeView keine Methode SaveToFile() braucht - Persistenz ist schließlich eine Funktionalität der Verwaltungsstruktur.

Freundliche Grüße vom marabu

DarkLord0 8. Mär 2006 14:23

Re: Ttreeview Elemente auszeichnen
 
Danke, ich habe es jetzt so gemacht, dass ich den Zeiger als Integer auffasse (ich brauche ja sonst keine Daten) und den TTreeview mit WriteComponent abspeichere.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 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