要在.NET/WinForms中檢測到鼠標滾輪的輪轉,我可以覆蓋OnMouseWheel
。 點擊可以通過覆蓋OnMouseDown
來檢測(它只是Middle
按鈕)。但是,如何檢測輪子的傾斜(水平滾動時左右傾斜)?當我傾斜鼠標滾輪時,正在調用OnMouseWheel
而不是OnMouseDown
。如何檢測鼠標滾輪傾斜?
6
A
回答
11
覆蓋here;總之,你需要手動處理Windows消息(它不是在.NET直接處理 - 代碼是從鏈接的文章):
protected override void WndProc(ref Message m) { base.WndProc(ref m); if (m.HWnd != this.Handle) { return; } switch (m.Msg) { case Win32Messages.WM_MOUSEHWHEEL: FireMouseHWheel(m.WParam, m.LParam); m.Result = (IntPtr)1; break; default: break; } } ... abstract class Win32Messages { public const int WM_MOUSEHWHEEL = 0x020E;//discovered via Spy++ }
+2
當你的窗口有一個水平滾動條時,這可以正常工作,但不是這樣。對於那些可能想要濫用水平滾動以外的其他功能的人(如我8),請注意。 – RichieHindle 2009-07-05 10:10:40
3
在此基礎上article,如果你有IntelliPoint驅動程序,您將收到WM_MOUSEHWHEEL消息。
相關問題
- 1. 攔截鼠標滾輪傾斜事件?
- 2. 檢測水平鼠標滾輪運動
- 3. 檢測鼠標滾輪在畫布
- 4. 如何檢測手機傾斜?
- 5. Flash - 檢測傾斜iOS
- 6. 如何在Jquery中檢測「鼠標滾輪滾動」和「窗口手動滾動」
- 7. SetKeyDelay鼠標滾輪
- 8. Popup - 滾動鼠標滾輪
- 9. 檢查鼠標滾輪狀態SFML
- 10. 讓鼠標傾斜水平滾動總是重複
- 11. 根據鼠標的傾斜線X
- 12. 將D3.js從鼠標滾輪變爲控制+鼠標滾輪
- 13. jquery滾動傾斜
- 14. C++如何捕捉鼠標滾輪?
- 15. 如何用鼠標滾輪移動JSlider
- 16. 如何使DBLookupComboBox鼠標滾輪工作
- 17. 如何使用鼠標滾輪
- 18. 檢測紡次鼠標滾輪的數量,而不是它紡
- 19. JavaScript故障檢測鼠標滾輪事件
- 20. 鼠標滾輪事件檢測目前未在Firefox中工作
- 21. WPF鼠標滾輪方向檢測和故事板
- 22. 德爾福:檢測鼠標滾輪按鈕
- 23. 檢測沒有焦點的鼠標滾輪
- 24. 不行的(傾斜圖像)鼠標移動和鼠標離開
- 25. LWJGL鼠標滾輪輸入
- 26. jQuery綁定鼠標滾輪
- 27. 鼠標滾輪click&jquery.delegate
- 28. jscrollpane水平鼠標滾輪
- 29. python詛咒鼠標滾輪
- 30. 防反跳鼠標滾輪
Marc的解決方案工作正常。謝謝! – CarstenK 2009-07-05 08:55:30