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 auslösende Komponente bei TAction herausfinden (https://www.delphipraxis.net/18100-ausloesende-komponente-bei-taction-herausfinden.html)

wolli53 14. Mär 2004 17:05


auslösende Komponente bei TAction herausfinden
 
Hi,
habe folgendes Problem:
In einem Formular befinden sich mehrere Edit-Komponenten, denen eine xml-Datenbank zugrundeliegt.
Ein Button -suchen- innerhalb eines Action-Bandes soll nach anklicken feststellen, welches das auslösende Edit-Element war, und nach Eingabe eines Suchtextes innerhalb der Datenbank in dem entsprechenden Feld nach diesem Text suchen.

Die Suchroutinen funktionieren einwandfrei. Lediglich die Verbindung zum Button geht nicht, da ich es bisher nicht geschafft habe, in der OnExecute Procedur festzustellen, welches Edit-Element beim Klicken auf den Button gerade ausgewählt war.

Bitte um Tipps.

Sharky 14. Mär 2004 17:47

Re: auslösende Komponente bei TAction herausfinden
 
Hai wolli53,

so wird es wohl nicht gehen. Auslöser deiner Action ist ja der Button. Ich kann mir nur vorstellen das Du allen Edits ein .OnExit Ereigniss zuweisst und dort in einer Variablen speicherst welches Edit als letzes den Focus besessen hat.
Diese Variable kannst Du dann in deiner Action auswerten.

wolli53 15. Mär 2004 11:49

Re: auslösende Komponente bei TAction herausfinden
 
Hi Sharky,

Danke für die schnelle Antwort.
Diese Vorgehensweise ist ok. War mir schon so auch bewußt.
Aaaaber: Der Vorteil einer Actionliste (so jedenfalls habe ich mir gedacht) liegt ja gerade darin, dass hier zentral Aktionen verwaltet werden und der Auslöser bekannt ist.
Wenn ich nämlich eine Standardaktion (wie z.B. copy / paste etc. ) nehme, dann funktioniert dies einwandfrei und jeweils abhängig davon in welchem Edit-Element ich zuletzt war, ohne dass ich hier diesen Elementen eine entsprechende OnExit-Prozedur mitteilen muss.
Deshalb dachte ich, dies müsste auch mit selbst erstellten Aktionen möglich sein.

Gruß
Wolfgang


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