Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Problem beim OnKeyDown

  Alt 3. Nov 2017, 12: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....
  Mit Zitat antworten Zitat