德尔福 - 使用TApplicationEvents OnShortCut事件检测Alt + C键的按键

StackOverflow https://stackoverflow.com/questions/734990

  •  09-09-2019
  •  | 
  •  

我使用TApplicationEvents OnShortCut事件得到德尔福程序应用的键盘快捷方式。

使用以下代码:

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

其他提示

或者,您可以创建简单TAction,他们在别人面前吃的快捷方式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top