![]() |
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 |
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: ).
|
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 |
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: . |
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 18:17 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