![]() |
Komponente schreiben, die Wenn ESC gedrückt wird eine proc.
Hallo,
ich bin gerade dabei eine Komponente zu schreiben mit der ich folgendes machen kann: - Wenn man diese Komponente auf die Form setzt, dann soll man bei den Ereignissen folgende einstell möglichkeiten haben: ESC, Enter, Einfg, Entf. - Wenn die Komponente auf der Fprm ist, dann soll wenn die ESC Taste gedrückt wird die Procedure ausgeführt werden, wie übergeben wird. Wie kann ich das machen??? Ich habe schon mal gegonnen. Mein Code sieht jetzt so aus:
Delphi-Quellcode:
unit KeyDown;
interface uses SysUtils, Classes, Forms; type TEinfg = procedure (Sender: TObject) of object; type TEnter = procedure (Sender: TObject) of object; type TEntf = procedure (Sender: TObject) of object; type TESC = procedure (Sender: TObject) of object; type TKeyDown = class(TApplication) private FEinfg : TEinfg; FEnter : TEnter; FEntf : TEntf; FESC : TESC; { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } published property Einfg : TEinfg Read FEinfg Write FEinfg; property Enter : TEnter Read FEnter Write FEnter; property Entf : TEntf Read FEntf Write FEntf; property ESC : TESC Read FESC Write FESC; { Published-Deklarationen } end; procedure Register; implementation procedure Register; begin RegisterComponents('Standard', [TKeyDown]); end; end. |
Re: Komponente schreiben, die Wenn ESC gedrückt wird eine pr
Ich will ja deinen Enthusiasmus für dein Projekt nicht schmälern, aber wozu brauche ich so eine Komponente, wenn ich einfach das OnkeyDown oder OnKeyPress-Event des Formulars dafür nehmen kann? Gut, ich muss dann natürlich KeyPreview auf True stellen, aber sonst...
Oder habe ich dein Vorhaben falsch verstanden? |
Re: Komponente schreiben, die Wenn ESC gedrückt wird eine pr
Hallo,
Gruß xaromz |
Re: Komponente schreiben, die Wenn ESC gedrückt wird eine pr
Hallo,
der Sinn dieser Komponente ist Quellcode einsparung. Also ich finde es übersichtlicher, wenn ich eine Komponente auf meiner Form habe, als wenn ich bei jeder Form OnKeyDown selber schreiben muss. MFG Christian18 |
Re: Komponente schreiben, die Wenn ESC gedrückt wird eine pr
Zitat:
ich verwende so wenig wie möglich Komponenten. Sonst muss ich mir merken, diese Kompo macht jenes, eine andere Kompo fängt dieses ereignis ab, usw. Wenn ich alles mit den Standard-Methoden mache, habe ich vollen Einblick, was passiert. Und vor allem klappt das mit dem Debuggen besser. |
Re: Komponente schreiben, die Wenn ESC gedrückt wird eine pr
Naja,
vieleicht habt ihr recht aber wie kann ich mein porblem trotzdem lösen??? |
Re: Komponente schreiben, die Wenn ESC gedrückt wird eine pr
Hallo,
Zitat:
Gruß xaromz |
Re: Komponente schreiben, die Wenn ESC gedrückt wird eine pr
Ja habe ich schon,
aber irgendwie verstehe ich das nicht so ganz. Hast du ein kleines Bsp. dafür??? |
Re: Komponente schreiben, die Wenn ESC gedrückt wird eine pr
die einfachste Variante ist wohl in dein Private ein TApplicationEvents zu packen, dort das OnMessage auszuwerten (ob die Message KeyDown war und ob es sich um die gewünschten Tasten handelt) und dein Ereignis auslösen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:24 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 by Thomas Breitkreuz