![]() |
Auslöser TAction ermitteln, wobei TAction bei N Controls
Hallo, weiss jemand, wie man in einem TAction.OnExecute - Eventhandler rausfinden kann, von welchem Control die TAction ausgelöst wurde ?
Sender ist TAction, aber das nützt nix, ich suche das Menuitem, welches die TAction zugewiesen bekommen hat. Und TAction hat kein Auslöser-Komponenten-Attribut wie z.B. TPopUpMenu, wo es zumindest eine PopUpComponent gibt, die man sich mit RTTI vorknöpfen kann.... Hintergrund des Ganzen : Es gibt ein TTreeNode. Wenn man da per Rechtsclick draufclickt, erscheint ein (in dem Moment dynamisch mit 3 TMenuItems befülltes) TPopUpMenu. Jedes TMenuItem ist mit einem TAction verknüpft. Nun will ich letztlich rausfinden, welcher TTreeNode mir das eingebrockt hat ;-) ... :idea: Überlege schon, ob ich beim TMenuItem-Erzeugen einen Pointer auf den Node in den TAction-Tag ablege. Aber kennt jemand was eleganteres ? Muss doch schon mal vorgekommen sein.... Hab aber mit der Suche nix gefunden. Bin für jeden Tip dankbar.... :freak: :spin: :mrgreen: |
Re: Auslöser TAction ermitteln, wobei TAction bei N Controls
Moin St2000,
übergib doch,den Index des Nodes in der Tag-Eigenschaft des PopupMenüs. Vorausgesetzt, dass Du dafür gesorgt hast, dass beim Rechtsklick auf ein Item dieses auch selektiert wird. |
Re: Auslöser TAction ermitteln, wobei TAction bei N Controls
Super, das funzt ! Vielen Dank, Christian.
Habe den Absoluteindex genommen, und kann nun mit dem auslösenden Node jeden Unsinn treiben. Suuuper !! Gruss, ST2000 :bouncing4: :hello: :nerd: :party: :coder: :mrgreen: 8) |
Re: Auslöser TAction ermitteln, wobei TAction bei N Controls
Moin ST2000,
bitte gerne. Freut mich wenn's geholfen hat. Zitat:
|
Re: Auslöser TAction ermitteln, wobei TAction bei N Controls
Ach so, für den geneigten Leser :
Ich habe den Absoluteindex des TTreeview.Selected (=TTreeNode) in das Tag-Attribut der TAction reingeschrieben. Denn nur die TAction wird als Sender an ihren OnExecute-Eventhandler übergeben. Das Tag muss natürlich nach Benutzung (am besten gleich im Eventhandler) wieder auf 0 gesetzt werden, da die TAction ja gerade den Sinn hat, für mehrere Controls genutzt zu werden... sonst gibts eigenartige Vorkommnisse... :twisted: Grüsse aus HH, ST2000 :witch: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:56 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