全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2324
推到 Plurk!
推到 Facebook!

如何判斷是那個HotKey按的?

答題得分者是:m8815010
HomeSound
中階會員


發表:44
回覆:178
積分:94
註冊:2002-08-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-16 13:09:09 IP:61.30.xxx.xxx 未訂閱
已參考過 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=22405
BEGIN_MESSAGE_MAP
  VCL_MESSAGE_HANDLER(WM_HOTKEY, TMessage, HotKeys)
END_MESSAGE_MAP(TForm)    const int ID1 = WM_USER   101;
const int ID2 = WM_USER   102;
::RegisterHotKey(Handle, ID1, MOD_CONTROL|MOD_ALT, VK_F11);
::RegisterHotKey(Handle, ID2, MOD_CONTROL|MOD_ALT, VK_F12);    void __fastcall Form1::HotKeys(TMessage &Msg)
{ if(.....)
    ShowMessage("Ctrl Alt F11");
  if(.....)
    ShowMessage("Ctrl Alt F12");
  如何判斷是ID1熱鍵按的,還是ID2熱鍵按的 感謝您.
  >    --==多看.多學.多聽==--
        
------
--==多看.多學.多聽==--
m8815010
版主


發表:99
回覆:372
積分:289
註冊:2003-11-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-16 13:51:04 IP:61.63.xxx.xxx 未訂閱
引言: 已參考過 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=22405
BEGIN_MESSAGE_MAP
  VCL_MESSAGE_HANDLER(WM_HOTKEY, TMessage, HotKeys)
END_MESSAGE_MAP(TForm)    const int ID1 = WM_USER   101;
const int ID2 = WM_USER   102;
::RegisterHotKey(Handle, ID1, MOD_CONTROL|MOD_ALT, VK_F11);
::RegisterHotKey(Handle, ID2, MOD_CONTROL|MOD_ALT, VK_F12);    void __fastcall Form1::HotKeys(TMessage &Msg)
{ if(.....)
    ShowMessage("Ctrl Alt F11");
  if(.....)
    ShowMessage("Ctrl Alt F12");
  如何判斷是ID1熱鍵按的,還是ID2熱鍵按的 感謝您.
  >    --==多看.多學.多聽==--
< face="Verdana, Arial, Helvetica">    HomeSound兄你好:    <>>
< class="code">
~~~    public:                // User declarations
        __fastcall TForm1(TComponent* Owner);
        void __fastcall StrtLgIn(tagMSG &Msg, bool &Handled);    ~~~    In Unit.cpp    void __fastcall TForm1::FormCreate(TObject *Sender)
{
 RegisterHotKey(Handle,12345678,NULL,121); <--註冊F10、F11為HotKey
 RegisterHotKey(Handle,87654321,NULL,122);
 Application->StrtLgIn;
}    void __fastcall TForm1::StrtLgIn(tagMSG &Msg,bool &Handled)
{
 if (Msg.message==WM_HOTKEY && Msg.wParam==12345678) {   <--這勭做偵測是否按下HotKey, 並做後續處理
     ShowMessage("F10");     if (Msg.message==WM_HOTKEY && Msg.wParam==87654321) {
     ShowMessage("F11");
}    
這是HomeSound兄要的方向嗎? 發表人 - m8815010 於 2004/03/16 13:55:20 發表人 - m8815010 於 2004/03/16 14:00:59
HomeSound
中階會員


發表:44
回覆:178
積分:94
註冊:2002-08-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-16 22:00:43 IP:61.30.xxx.xxx 未訂閱
感謝您,沒錯就是這樣的. Thank You.
------
--==多看.多學.多聽==--
daniel__lee
高階會員


發表:18
回覆:124
積分:113
註冊:2002-11-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-04 19:13:46 IP:61.218.xxx.xxx 未訂閱
感謝 m8815010 大大 你的 Application->StrtLgIn; 幫我解決了擷取WM_HOTKEY 的問題 ~ 勿在浮沙上面築高塔 ~
------
~ 勿在浮沙上面築高塔 ~
系統時間:2024-04-26 0:50:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!