Einzelnen Beitrag anzeigen

Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#8

AW: Shift + NumPadX erkennen

  Alt 31. Jul 2018, 19:55
Ich weiß ja nicht, was du machst, aber das hier funktioniert problemlos bei mir und das ist auch, wie man TShortcutEvent verwendet:
Delphi-Quellcode:
procedure TollesEvent(var Msg: TWMKey; var Handled: Boolean);
var
  ss: TShiftState;
begin
  ss := KeyDataToShiftState(Msg.KeyData);
  if ss = [ssShift] then
  if Msg.Charcode = VK_NUMPAD0 then // =96
  TueTolleSachen();
end;
Wenn man nicht weiß, was eigentlich los ist:
Delphi-Quellcode:
uses Menus;

procedure TollesEvent(var Msg: TWMKey; var Handled: Boolean);
var
  ss: TShiftState;
begin
  ss := KeyDataToShiftState(Msg.KeyData);
  Caption := IfThen(ssCtrl in ss, 'Strg+')
           + IfThen(ssShift in ss, 'Umsch+')
           + IfThen(ssAlt in ss, 'Alt+')
           + ShortCutToText(Msg.CharCode) + '/'
           + IntToStr(Msg.CharCode);
end;
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat