Registriert seit: 17. Nov 2005
Ort: Hamburg
1.065 Beiträge
Delphi XE2 Professional
|
AW: Problem beim OnKeyDown
3. Nov 2017, 13:03
Wenn ich beide Events entsprechend behandle funktioniert das Sperren der Tasten einwandfrei!
Ich benutze für solche Zwecke gern OnFormShortCut.
Wenn du da Handled=True setzt, dann wirkt das auf alle Tasten.
Delphi-Quellcode:
procedure TMain.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
const
NoCareKeys=[VK_Up,VK_Down,VK_Left,VK_Right,VK_Prior,VK_Next,VK_Insert,
VK_Home,VK_End,VK_Shift,VK_Control,VK_Menu];
var
Key:TShortCut; Shift:TShiftState;
begin
if ActiveControl<>reTest then Exit;
Key:=Msg.CharCode;
if Key in NoCareKeys then Exit; // Tasten, die den Text nicht verändern, ignorieren
Shift:=[ssShift,ssCtrl,ssAlt]*KeyDataToShiftState(Msg.KeyData);
// Und hier die Prüfung, ob Tastendruck unterdrückt werden soll.
// Wenn die Taste unterdrückt werden soll, Handled:=True setzen.
end;
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
|
|
Zitat
|