Wozu denn so kompliziert ?
Zitat von
shmia:
Delphi-Quellcode:
procedure TAbgeleitetClass.DoOnKeyDown(var Key: Word; Shift: TShiftState);
begin
// einfach nichts tun (und v.a. nicht inherited aufrufen)
end;
Wozu noch extra ein DoOnKeyDown verwenden ?
Delphi-Quellcode:
TfrmNrEin = class(TForm)
...
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); // enthält Code
...
private
...
end;
// noch einige Ableitungen mehr, bevor die relevante Class kommt :
TfrmNrEin1 = class(TfrmNrEin)
...
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); // soll nichts machen
...
end;
So siehts momentan aus. Und daß der Trick mit dem "leer lassen" geht habe ich schon vorher gesagt. Und zwar einfach so :
Delphi-Quellcode:
procedure TfrmNrEin1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
// inherited;
end;
Mich stört nur, daß Delphi automatisch das OnKeyDown weg macht, sofern auch der Kommentar weg ist. Wenn jetzt jemand denkt, der leere Kommentar könne genauso gut gleich gelöscht werden, dann läuft das Programm nicht mehr und zwar, ohne daß irgendwo eine Fehlermeldung kommt ! Dann schlägt nämlich das Vorfahr-OnKeyDown ohne Vorwarnung zu !!