私はwin apiで小さなウィンドウを作成しました。このウィンドウは、別のスレッドのウィンドウの子です。Win32 Api WM_MOUSEMOVEマウスを素早く動かす
私は右の右ボタンでマウスを動かすことによって私のウィンドウを動かすことを許可します。マウスを通常の速度で動かすと、ウィンドウが問題なく動きます。しかし、私が非常に速く移動すると、非常に奇妙なメッセージのいくつかがウィンドウで受信されます。例えば、
P WM_MOUSEMOVE fwKeys:MK_BUTTON XPOS:-32703 YPOS:9
あなたはXPOSは-32000まで低下見ての通り。私はマウスを素早く動かすとすぐに起こります。私はどのように窓が私にそのようなメッセージを送ることができるか分かりません。
なぜメッセージが送信され、修正するのか?
私はSetCaption関数を使用していますので、マウスが外にいてもメッセージは記録されます。
Upd。解決済み。問題は私の固有の数学にあった。 lParamからハイとローワードを得ることは適切ではありませんでした。
'xPos'は16ビットの値ですが、' lParam'から 'xPos'をデコードしている間、おそらくあなたの計算にオーバーフローがあります。 –
しかし、そのメッセージはSpy ++で見ています。 – HelloWorld
右ボタンでウィンドウを移動させるために特別なことを行う可能性がありますか?そして、間違ったメッセージが送信されている可能性があります。 –