DirectInputでの現在のマウス座標は・・?
DirectInputでマウス座標を取得したいのですが、
lX lY
による移動量の取得方法しかわからず、
初回起動時に下のコードで現在座標を取得して扱っているのですが、
-----------------------------------
GetCursorPos(&point);
ScreenToClient(hWnd, &point);
input_mpos[0] = float(point.x);
input_mpos[1] = float(point.y);
-----------------------------------
問題点
1.クライアント領域を抜け、モニターの隅までマウスカーソルが行っても移動量が加算され続け狂ってしまう
2.タイトルバーをダブルクリックして擬似フルスクリーンにすると移動量そのものが通用しない
3.フォーカスが飛んだり、ダイアログボックスが出ると現在座標が狂ってしまう
に悩まされています。
常に確実にクライアント内の座標を捕らえ続けられる計算式というか、
定番の手順というものが有ったりするのでしょうか?
それとも、マウス座標はDirectXで取得しようとする事そのものが間違いだったりするのでしょうか?
経験者様いらっしゃいましたら、ヒント程度でも構いませんので教えて頂けると幸いです。 orz
お礼
有り難うございます。 とりあえず、色々やってみます。