WM _ MOUSEMOVE メッセージ

カーソルが移動すると、ウィンドウにポストされます。 マウスがキャプチャされていない場合、メッセージはカーソルを含むウィンドウにポストされます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージがポストされます。

ウィンドウは、WindowProc 関数を介 してこのメッセージを受信 します。

#define WM_MOUSEMOVE                    0x0200

パラメーター

wParam

さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を 1 つ以上指定できます。

説明
MK _CONTROL
0x0008
Ctrl キーが押されている。
MK _LBUTTON
0x0001
マウスの左ボタンが下に表示されます。
MK _MBUTTON
0x0010
マウスの中央ボタンが下に表示されます。
MK _RBUTTON
0x0002
マウスの右ボタンが下に表示されます。
MK _Shift
0x0004
Shift キーが押されている。
MK _XBUTTON1
0x0020
最初の [X] ボタンが下に表示されます。
MK _XBUTTON2
0x0040
2 つ目の [X] ボタンが下に表示されます。

lParam

低い順序の単語は、カーソルの x 座標を指定します。 座標は、クライアント領域の左上隅を基準にしています。

高い順序の単語は、カーソルの y 座標を指定します。 座標は、クライアント領域の左上隅を基準にしています。

戻り値

アプリケーションがこのメッセージを処理する場合は、0 を返す必要があります。

解説

次のコードを使用して、水平方向と垂直方向の位置を取得します。

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

上で説明したように、x 座標は戻り値の低い 順序の short です。y 座標は高い順序の短い値です (複数 のモニターを持つシステムでは負の値を受け取る可能性があるという理由で、両方とも符号付き値を表します)。 戻り値が変数に割り当てられている場合は 、MAKEPOINTS マクロを使用して戻り値から POINTS 構造体を取得できます。 GET X LPARAM または GET _ Y _ LPARAMマクロを使用して、x 座標または y 座標を抽出できます。 _ _

重要

LOWORDマクロまたは HIWORDマクロを使用してカーソル位置の x 座標と y 座標を抽出することはできません。これらのマクロは、複数のモニターを持つシステムで正しくない結果を返します。 複数のモニターを持つシステムは負の x 座標と y 座標を持つ場合があります 。LOWORDHIWORD は座標を符号なし数量として扱います。

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional[ デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winuser.h (Windowsx.h を含む)

関連項目

参照

GET _ X _ LPARAM

GET _ Y _ LPARAM

GetCapture

SetCapture

概念

マウス入力

その他のリソース

MAKEPOINTS

ポイント