2009-04-09 106 views
4

我正在使用TApplicationEvents OnShortCut事件来获取Delphi程序中的应用程序键盘快捷方式。德尔福 - 使用TApplicationEvents OnShortCut事件来检测Alt + C按键

使用下面的代码:

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' 已经被按下?

回答

7

像这样:

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

+0

我的甜蜜德尔福:)该死的所有Java ...(我只是目前对Java世界很不高兴) – 2009-04-09 17:31:51

1

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