2009-04-09 26 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,他們在別人之前吃快捷方式。