我用win api創建了一個小窗口。這個窗口是另一個線程窗口的子窗口。Win32 Api WM_MOUSEMOVE快速移動鼠標
我想允許用戶通過移動鼠標與預設的右鍵來移動我的窗口。當我以正常速度移動鼠標時,我的窗口移動時沒有問題。但是當我快速移動窗口收到的一些非常奇怪的消息。例如,
P WM_MOUSEMOVE fwKeys:MK_BUTTON XPOS:-32703 yPos:9
正如你所看到的XPOS下降到一個-32000。在我快速移動鼠標後,它幾乎立即發生。我不知道Windows如何向我發送這樣的消息。
爲什麼這條消息可能被髮送並且如何解決?
我正在使用SetCaption函數,因此即使鼠標停留在外面,我的窗口也會提示消息。
Upd。解決了。問題出在我內在的數學上。從lParam得到hi和lowword是不合適的。
'xPos'是16位的值,當從'lParam'解碼'xPos'時,你的數學可能會出現溢出。 –
但是我在Spy ++中看到的那條消息。 – HelloWorld
所以你可能做了一些特殊的事情讓窗口移動右鍵?它可能會導致發送錯誤的消息。 –