Delphi - 使用TApplicationEvents OnShortCut事件来检测Alt + C键按下

时间:2009-04-09 16:34:47

标签: delphi vcl

我正在使用TApplicationEvents OnShortCut事件在Delphi程序中获取应用程序键盘快捷方式。

使用以下代码:

procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey; var Handled: Boolean) ;
begin
   if (Msg.CharCode = VK_F9) then
   begin
     ShowMessage('F9 pressed!') ;
     Handled := True;
   end;
end;

问题:

如何检测何时按下“ALT C”?

2 个答案:

答案 0 :(得分:8)

像这样:

procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
  var Handled: Boolean);
begin
  if (Msg.CharCode = Ord('C'))
    and (HiWord(Msg.KeyData) and KF_ALTDOWN <> 0)
  then begin
    ShowMessage('Alt+C pressed!') ;
    Handled := TRUE;
  end;
end;

请注意,使用Alt和某些键只是快捷方式的错误选择,因为系统使用这些来激活菜单项或对话框控件。

答案 1 :(得分:1)

或者你可以创建简单的TAction,他们在其他人之前吃快捷方式。