【问题标题】:Delphi - Using the TApplicationEvents OnShortCut event to detect Alt+C key pressesDelphi - 使用 TApplicationEvents OnShortCut 事件检测 Alt+C 按键
【发布时间】:2009-04-09 16:34:46
【问题描述】:

我正在使用 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”?

【问题讨论】:

    标签: delphi vcl


    【解决方案1】:

    像这样:

    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 和某些键不是快捷方式的错误选择,因为系统使用它们来激活菜单项或对话框控件。

    【讨论】:

    • 我可爱的 ​​Delphi :) 该死的全是 java...(我现在对 Java 世界非常不满)
    【解决方案2】:

    或者你可以创建简单的 TAction,他们比其他人先吃捷径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-30
      • 2012-05-26
      • 2019-04-22
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多