![]() |
TreeView - Werte zum Item speichern
hallo,
wie kann ich zu einem TreeView Item zusätzliche Infos speichern? z.B. einen Pointer auf eine eigene Datenstruktur?
Delphi-Quellcode:
Die Funktionen zum Einfügen der Items habe dafür keine Option.
var anode:TTreeNode;
anode := TreeView.Items.Add(nil,'Root'); TreeView.Items.AddChild(anode, 'First Child'); Gruß Marcus |
Re: TreeView - Werte zum Item speichern
TreeView.Items.AddChildObject
|
Re: TreeView - Werte zum Item speichern
Genau das habe ich gesucht :)
|
Re: TreeView - Werte zum Item speichern
Okay, ich habe jetzt ein dynaisches Element an das Treeview Item gehängt. Jetzt könnte ich noch einen Tipp gebrauchen mit welchem Befehl ich wieder an das Datenelement rankomme :wink: :?: Sowas wie "GetChildObject"
Für interessierte, so habe ich ein dynamisches Element erstellt und an ein TreeView Item gehängt.
Delphi-Quellcode:
Type
TElementPointer = ^TElement; TElement = record DBKey : integer; end; procedure TFRM_AM_Administration.Button19Click(Sender: TObject); var anode : TTreeNode; Pointer, Element : TElementPointer; begin new (Element); Element.DBKey := 1; Pointer := Element; //showmessage(IntToStr(Pointer^.DBKey)); TreeView.Items.AddChildObject(nil,'Hidden Data', Pointer); end; |
Re: TreeView - Werte zum Item speichern
D2006 Hilfe:
Zitat:
|
Re: TreeView - Werte zum Item speichern
Darauf bin ich auch gestoßen. Allerdings habe ich es noch nicht zum Laufen gebracht.
Der folgende Code lässt sich compilieren, allerdings bekomme ich einen "Listindex put of bound" Fehler. Egal ob ich 0 oder 1 als Item angeben. Ich würde gerne an die Daten des selektierten Elementes kommen. Wundert mich, das ich da bei Item noch was angeben muss.
Delphi-Quellcode:
procedure TFRM_AM_Administration.Button20Click(Sender: TObject);
var Pointer : TElementPointer; begin Pointer := TreeView.Selected.Item[1].Data; showmessage(IntToStr(Pointer^.DBKey)); end; |
Re: TreeView - Werte zum Item speichern
Mit "TreeView.Selected.Item[1].Data;" würdest du doch auf das 2. SubItem des Selektieren zeigen, müsste es nicht "TreeView.Selected.Data;" heißen?
|
Re: TreeView - Werte zum Item speichern
Hallo,
besser so:
Delphi-Quellcode:
procedure TFRM_AM_Administration.Button20Click(Sender: TObject);
var pElement: TElementPointer; begin if Assigned(TreeView.Selected) and Assigned(Treeview.Selected.Data) then begin pElement := TreeView.Selected.Data; ShowMessage(IntToStr(pElement.DBKey)); end; end; |
Re: TreeView - Werte zum Item speichern
@marabu: Das funktioniert sehr gut :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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