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 TreeList - bestimmte Items erzeugen (https://www.delphipraxis.net/68262-treelist-bestimmte-items-erzeugen.html)

arne99 27. Apr 2006 07:27


TreeList - bestimmte Items erzeugen
 
Schon oft gesucht aber nicht gefunden bzw. nicht genau das was ich benötige:

Frage: Ich verwende eine TreeList, benötige aber Befehle um per (procedure) die einzelnen ITEM's zu erzeugen, welche auch eine eigene (procedure) haben. ISt es möglich?

BeispieL: Klick auf einen Button, danach wird die TreeList ganz bestimmt gefüllt und das Item hat in der TreeList jetzt auch eine Funktion wenn man doppelt (zBsp) raufklickt.


Gruß Arne

marabu 27. Apr 2006 08:02

Re: TreeList - bestimmte Items erzeugen
 
Hallo Arne,

meinst du wirklich TreeList - und nicht TreeView?

Grüße vom marabu

Mavarik 27. Apr 2006 08:11

Re: TreeList - bestimmte Items erzeugen
 
Hi!

Jeder Node - ICH gehe mal von Treeview aus :-) - hat doch einen Data-Pointer. Diesem kannst Du Deine individuelle OnClick procedure zuweisen.

Dann musst Du in der "globalen" onclick "nur" noch den Pointer Typisieren und die entsprechende OnClick aufrufen...

Oder so...

Frank :coder:

Kannst dem Pointer auch ein Record zuweisen und dir da Zusatzinfos speichern...

arne99 27. Apr 2006 09:05

Re: TreeList - bestimmte Items erzeugen
 
ach genau das meinte ich ja, das mit dem Pointer OnClick ereignis hab ich theoretisch verstanden, nach mehrmaligen probieren scheiter ich jedoch an einem beispiel.

Kann mir jemand ein Beispiel schreiben: procedure mit inhalt, dass treeview 2 sachen hinzugefuegt werden und mit onclick pointer versehen werden, danke!

marabu 27. Apr 2006 10:21

Re: TreeList - bestimmte Items erzeugen
 
Hallo Arne,

die Ereignisse OnClick() bzw. OnDblClick() machen nur bei visuellen Komponenten Sinn. Ich würde wohl der TreeView einen event handler für das Ereignis OnDblClick() zuordnen und darin den ausgewählten Knoten (TreeView.Selected) an die entsprechende Prozedur übergeben.

marabu

arne99 27. Apr 2006 10:38

Re: TreeList - bestimmte Items erzeugen
 
Das bedeutet doch dass das selektierte Item mit einer ACTION (procedure/function) ausgewählt/ausgeführt wird.
Aber das klappt doch nicht, wenn ich jedem ITEM eine besondere Funktion zuordnen möchte.

Hier noch einmal genauer:

Ein TreeView, in dem man per Button ein Item an eine bestimmte Stelle platziert wird. (eine bestimmte Reihenfolge)
Das hinzugefügte oder entfernte Item soll eine eigene Action haben (Procedure/Function).
Vergleich: Objektexplorer von Delphi!

Über ein Beispiel würde ich mich sehr freuen!

Mavarik 27. Apr 2006 10:46

Re: TreeList - bestimmte Items erzeugen
 
Zitat:

Zitat von arne99
Das bedeutet doch dass das selektierte Item mit einer ACTION (procedure/function) ausgewählt/ausgeführt wird.
Aber das klappt doch nicht, wenn ich jedem ITEM eine besondere Funktion zuordnen möchte.

Hier noch einmal genauer:

Ein TreeView, in dem man per Button ein Item an eine bestimmte Stelle platziert wird. (eine bestimmte Reihenfolge)
Das hinzugefügte oder entfernte Item soll eine eigene Action haben (Procedure/Function).
Vergleich: Objektexplorer von Delphi!

Über ein Beispiel würde ich mich sehr freuen!

42!

Ich meine... Natürlich kannst Du doch über eine Wert int(Node.Data) oder was auch immer in der OnDblClick eine Case nehmen

Frank

H4ndy 27. Apr 2006 15:16

Re: TreeList - bestimmte Items erzeugen
 
Speicher doch in Node.Data wie schon angesprochen die OnClick-Routine.
Dann machst im OnNodeChange des TreeViews:
Delphi-Quellcode:
TreeView.OnDblClick := Node.Data
Wie man das ganze Casten muss, musst du mal selber schauen ;)

So würdest du deinem TreeView je nach gewählten Node eine andere OnClick-Routine zuweisen.


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