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

偵測滑鼠位置訊息(非座標)

答題得分者是:syntax
jenwe
一般會員


發表:34
回覆:38
積分:24
註冊:2007-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-25 15:54:57 IP:140.118.xxx.xxx 訂閱
請問一般而言~可以用MouseMove去偵測滑鼠移動的座標

我測試過就算~滑鼠左鍵壓著移動~也是可以偵測做標

可是如果現在需要~滑鼠左鍵壓著~偵測他在哪一個物件上

例如:我的Form上面有 Image1,Image2,Image3

我滑鼠左鍵壓著移動~~是否有涵式可以測得~在哪個物件上面??

這樣我才可以執行所需要的動作~~
編輯記錄
jenwe 重新編輯於 2008-01-25 15:55:23, 註解 無‧
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-25 18:07:49 IP:61.64.xxx.xxx 訂閱
有,但你應該不會很喜歡

1.取得座標
2.一一比對哪些物件的範圍符合
3.比較符合的物件,看誰在最上方
4.發送訊息給該物件
5.由該物件的滑鼠函式作相關處理

所以你的意思是 1~3 的流程,你要自己來,而不願使用 Windows 處理後,再使用 4~5 來處理你的運作囉!

那,我想,有得你做了

===================引 用 jenwe 文 章===================
請問一般而言~可以用MouseMove去偵測滑鼠移動的座標

我測試過就算~滑鼠左鍵壓著移動~也是可以偵測做標

可是如果現在需要~滑鼠左鍵壓著~偵測他在哪一個物件上

例如:我的Form上面有 Image1,Image2,Image3

我滑鼠左鍵壓著移動~~是否有涵式可以測得~在哪個物件上面??

這樣我才可以執行所需要的動作~~
jenwe
一般會員


發表:34
回覆:38
積分:24
註冊:2007-03-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-26 01:55:05 IP:61.230.xxx.xxx 訂閱
取得座標是可以~
但是例如在Form1上可以取得在Form1上MouseMove 的X還有Y
可是移動到Button 或是Image 上的時候~X跟Y就會停止改變
那要怎樣取得原來最一開始的參考座標??
jenwe
一般會員


發表:34
回覆:38
積分:24
註冊:2007-03-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-29 12:47:04 IP:140.118.xxx.xxx 訂閱
問題已解決~我只用一個image~以多張圖案去更新~
即可達到我要的目標~~感謝大大的回答~讓我有靈感~感謝
yorkland
高階會員


發表:2
回覆:138
積分:108
註冊:2004-12-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-01-29 16:24:01 IP:60.248.xxx.xxx 訂閱
Just for your reference.
請參考Delphi裡SetCaptureControl的說明。
SetCaptureControl(Form1);

設定後, Form1將取得全部的滑鼠訊息。
系統時間:2024-04-25 20:00:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!