通過捕獲WM_MOUSEMOVE消息,我可以檢測到我的窗口上的光標移動。此消息包含x和y座標,但我需要弄清楚用戶是否試圖水平或垂直移動鼠標。如果x座標變化比y更顯着,我想忽略垂直運動。我需要使用其他消息嗎?謝謝!確定鼠標是否水平移動(C++)
0
A
回答
4
大衛是對的,你可能需要跟蹤狀態。但是,有一個函數,GetMouseMovePointsEx,它會給你多達64個先前的鼠標座標。你仍然必須有一個地圖(或其他數據結構)來存儲你自己的座標,但是這個功能應該爲你做很多工作。然後再次,我不確定該方法將如何與更多的手動方法進行比較,只要決定其中鼠標開始,以便您知道要比較的內容。 *(見下面的編輯)
一旦你有了以前的座標,你可以比較起始位置和最新的位置。如果差異大於某個任意數量(您決定),則執行您的代碼。
*編輯:就在GetMouseMovePointsEx
文檔我上面
連接該點的GetMouseMovePointsEx功能搜索在鼠標 座標歷史閱讀。如果函數找到該點,它將返回包含所提供的點之前的最後一個nBufPoints的 。
如果您的應用程序提供時間戳,GetMouseMovePointsEx函數將使用它來區分 在不同時間記錄的兩個相等點。
應用程序應該使用從WM_MOUSEMOVE消息中收到的鼠標座標 調用此函數,並將它們轉換爲屏幕 座標。
相關問題
- 1. 鼠標移動平移
- 2. 平滑平移鼠標移動
- 3. 是否可以使用java.awt.Robot進行水平鼠標滾動?
- 4. Kinect平滑鼠標移動
- 5. 用鼠標移動水平滾動頁面
- 6. 基於鼠標移動的HTML5平移
- 7. 鼠標滾輪滾動水平
- 8. 水平滑動jQuery鼠標滾輪
- 9. jquery水平滾動鼠標滾輪
- 10. 檢測水平鼠標滾輪運動
- 11. iScroll 4水平鼠標滾輪滾動
- 12. 水平滾動鼠標滾輪
- 13. 水平滾動ul與鼠標
- 14. JavaScript:水平滾動鼠標滾輪
- 15. 鼠標和觸摸水平div滑動
- 16. ScrollViewer水平鼠標滾輪滾動
- 17. 檢測垂直/水平的鼠標移動用java
- 18. 如何在pygame中禁用垂直/水平鼠標移動?
- 19. jscrollpane水平鼠標滾輪
- 20. 檢查鼠標移動是確定是否下載資產的好方法?
- 21. jQuery-UI可拖動:div不跟隨鼠標正確水平
- 22. 確定是否點擊鼠標在DIV
- 23. WPF - 確定是否鼠標在的UIElement
- 24. 確定DataGridView的水平滾動條是否存在?
- 25. C++ SFML鼠標移動
- 26. C#塊的鼠標移動
- 27. C#鼠標移動(WinForm)
- 28. 用c移動鼠標#
- 29. 使用鼠標滾輪(C#和WinAPI)的水平滾動
- 30. 水平移動div?
重新標記爲特定於Windows; C++不關心你的鼠標。 C++不知道你的鼠標存在。 –
您需要跟蹤您獲得的最後一個mousemove事件,以便您可以比較兩者。而且你需要更清楚地說明「更顯着」的含義。你必須能夠給電腦實際的號碼。 –