線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1385
推到 Plurk!
推到 Facebook!

在自製元件裡同時攔截KeyDown與MouseMove訊息之疑問

尚未結案
tfanalysis
一般會員


發表:10
回覆:9
積分:3
註冊:2007-01-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-25 18:52:24 IP:140.115.xxx.xxx 訂閱
拍謝,又是我。
其實這是沿續上一篇,也是我目前元件寫到現在兩個無法解決的問題

我在元件中成功攔截WM_MOUSEMOVE,也做了一些事
現在我希望能夠做到「按著鍵盤上的某鍵不放+移動滑鼠,才執行某個動作」
其實在WM_MOUSEMOVE的struct中就可以做到一部份(但有限)
它只能同時偵測Ctrl、Shift及滑鼠的三鍵

可是我要的是Alt鍵啊啊啊啊啊~~~

有辦法同時攔截WM_MOUSEMOVE和WM_KEYDOWN嗎?
這樣就可以搭配不同按鍵,分別讓MouseMove有各種不同的效果了

以下是我攔截WM_MOUSEMOVE的code,確定可用,請指教

<textarea cols="60" rows="10" class="cpp" name="code"> //******在.h檔裡**********// private: MESSAGE void __fastcall WMMouseMove(TWMMouse &Message); public: BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_MOUSEMOVE, TWMMouseMove, WMMouseMove); END_MESSAGE_MAP(TControl); //******在.cpp檔裡**********// void __fastcall TScaleX::WMMouseMove(TWMMouse &Message){ Coor[0] = Message.XPos ; Coor[1] = Message.YPos ; } </textarea>
windblown
中階會員


發表:0
回覆:117
積分:98
註冊:2003-11-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-26 13:51:37 IP:211.21.xxx.xxx 未訂閱
請參考 GetKeyState() <textarea cols="60" rows="10" class="cpp" name="code"> if ( GetKeyState(VK_LMENU )&0x100 && // 左邊 alt GetKeyState(VK_RMENU )&0x100 ) // 右邊 alt { ... } </textarea>
系統時間:2024-05-06 20:29:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!