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

标签 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”?

最佳答案

像这样:

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 - 使用 TApplicationEvents OnShortCut 事件检测 Alt+C 按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/734990/

相关文章:

android - 如何在安卓上使用第三方库?

database - 使用 Delphi 进行数据库开发的最佳实践是什么?

delphi - 强制 Delphi 窗体在其不可见时绘制

Delphi:是否可以有一个包含禁用项目的组合框?

delphi - 如何立即发送邮件而不提示确认对话框

Delphi 7 - 处理表单中嵌入框架的 MouseWheel 事件?

delphi - 如何在左侧显示减号(Delphi、TListview)

delphi - 在 Delphi 中,当其父控件获得和失去焦点时,如何通知控件?

c++ - 更改 VCL 组件内容的正确方法

delphi - 循环cxGrid时如何访问TcxEditRepositoryComboBoxItem中的选定项目?