PS: Es gibt einen "schnellen" Button, welcher nicht auf Tastaturereignisse reagiert und der demnach hier nicht in die Quere kommen kann.
(falls wirklich nur die Buttons das Problem darstellen, wenn nicht, dann müßte man auch bei den anderen Komponenten versuchen die Verarbeitung der Tastenereignisse zu beseitigen)
Wenn das nicht reicht und damit jetzt mal alle was zum Lernen und Nachdenken haben...
Hier habt ihr ein bekanntes Stück Code:
Delphi-Quellcode:
function TApplication.ProcessMessage(var Msg: TMsg): Boolean;
begin
...
Handled := False;
if Assigned(FOnMessage) then FOnMessage(Msg, Handled);
if not IsPreProcessMessage(Msg) and not IsHintMsg(Msg) and
not Handled and not IsMDIMsg(Msg) and
not IsKeyMsg(Msg) and not IsDlgMsg(Msg) then
Und wenn ich euch nun sage, daß dieses Tastenverhalten der Dialoge in IsDlgMsg behandelt wird, dann dürft ihr überlegen, wie man dieses unterbindet und wo man stattdessen an sein Tastenereignis rankommt.
PS: OnKeyDown liegt im IsKeyMsg versteckt.
Und nein, ohne Änderung des
VCL-Quellcodes ... ich sage nur noch WM_KEYDOWN.