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 Eventhandler für alle Componenten einer Art (https://www.delphipraxis.net/45283-eventhandler-fuer-alle-componenten-einer-art.html)

CrazyK 3. Mai 2005 14:37


Eventhandler für alle Componenten einer Art
 
Hi ich habe mal ne kurze Frage, vielleicht kann mir jemand weiterhelfen:

Ich habe eine Anwendung, in der mehrere StringGrids vorkommen. Jetzt soll jedes Grid im onKeyDown ereignis beim Drücken der Taste F7 eine bestimmte Aktion ausführen. Muss ich das jetzt für jede Komponente einzeln machen oder gibt es ne Möglichkeit, dass zentral irgendwo tzu hinterlegen, so dass der Eventhandler automatisch von jedem Stringgrid angesprungen wird. Wenn jemand ne Möglichkeit weiss, wäre es nett, dass auch kurz zu erläutern, denn ich will nicht nur die Lösung, sondern auch daraus lernen.

Vielen Dank schon mal für euer bemühen

so far Crazy K

Khabarakh 3. Mai 2005 14:40

Re: Eventhandler für alle Componenten einer Art
 
Du könntest eine neue Klasse von TStringgrid ableiten und in dieser die richtige Message abfangen (ich kann dir leider nicht sagen, welche :wink: ).

CrazyK 3. Mai 2005 14:47

Re: Eventhandler für alle Componenten einer Art
 
ich denke mal, wenn ich die Klasse ableite, dann kann ich das OnKeyDown ereignis überschreiben, aber wie bzw. wo mache ich dass denn innerhalb meines Projektes. Die StringGrids sind ja innerhalb der einzelnen Units verteilt!

Danke Crazy K

Khabarakh 3. Mai 2005 14:55

Re: Eventhandler für alle Componenten einer Art
 
IMHO müsste es reichen, die neue Klasse als Komponente zu registrieren und dann einfach mit Strg + R die Units und DFMs durchzugehen.
Ohne Gewähr :stupid: .

Marcward.de 13. Jun 2005 16:51

Re: Eventhandler für alle Componenten einer Art
 
:?: :?: :?:

was ist denn hier los?
habe ich da etwas falsch verstanden, oder sollen hier lediglich zwei Events einem Handler zugewiesen werden?

Wenn ja - ganz einfach:

1.Im Objektinspektor dem OnKeyDown-Event des ersten Grids einen Handler zuordnen (im einfachsten Fall -> Doppelklick auf das Eingabefeld)

2.Im Objektinspektor dem OnKeyDown-Event des zweiten Grids den Handler vom ersten Grid zuordnen (am einfachsten durch die Auswahl per ComboBox)

Hinweis:

Innerhalb der EventHandler-Methode steht in der Regel eine s.g. Sender-Referenz zur Verfügung. Der "Sender" referenziert das ereignisauslösende Objekt und kann daher per Typecast direkt angesprochen werden.


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