Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Klasse an TTreenode anhängen
Siluro - Mo 14.03.05 18:57
Titel: Klasse an TTreenode anhängen
Hi,
ich habe ein kleines Problem. Ich hab mir eine Klasse geschrieben die auf TShape basiert.
Jetzt möchte ich diese Klasse an einen Eintrag in einem Treeview anhängen und rechts daneben anzeigen lassen.
Meine Frage ist jetzt eigentlich wie kann ich die Komponente so mit dem Treenode verbinden, dass sie
immer rechts neben dem Treenode angezeigt wird :?:
Hoffentlich kann mir jemand helfen.
Danke im Vorraus
Björn
jaenicke - Di 15.03.05 11:27
Na ja, also das Verbinden ist relativ einfach, in Treenode.Data kannst du einen Pointer auf die Speicheradresse der Komponente ablegen.
Das Anzeigen an der richtigen Position wirst du dann aber selbst übernehmen müssen, d.h. du musst jeweils die Treenodes durchgehen und die Komponente, deren Pointer sich in Data befindet, an der richtigen Stelle anzeigen.
Zu den Pointern ein kleines Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5:
| Treenode.Data := @Edit1; TEdit(Treenode.Data).Left := 23; |
Siluro - Di 15.03.05 14:09
Also das mit dem Verbinden funktionier super, Danke.
Aber jetzt hab ich gleich ein neues Problem.
Man kann ja Treenode nicht als Parent angeben, also habe ich den Treeview als Parent für meine Komponente angegeben.
Aber wie finde ich denn jetzt raus wo das Treenode in meinem Treeview liegt?
Die Position des Treenodes is ja ausschlaggebend für die Position der Komponente.
MfG
Björn
jaenicke - Di 15.03.05 14:26
Was hälst du von der Eigenschaft DisplayRect? Die gibt das Rechteck an, in dem der Treenode angezeigt wird!
Siluro - Di 15.03.05 17:20
Was soll ich dazu sagen, manchmal sieht man den Wald vor lauter Bäumen nicht. :roll:
Danke, so funktionierts bestens.
MfG
Björn
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!