次の方法で共有


WM_MOUSEHWHEEL メッセージ

マウスの水平スクロール ホイールが傾いたり回転したりすると、アクティブ ウィンドウに送信されます。 DefWindowProc 関数は、ウィンドウの親にメッセージを伝達します。 DefWindowProc 処理するウィンドウが見つかるまで親チェーンに伝達されるため、メッセージの内部転送は必要ありません。

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

#define WM_MOUSEHWHEEL                  0x020E

パラメーター

wParam を する

高次ワードは、ホイールが回転する距離を示し、WHEEL_DELTAの倍数または係数で表され、120 に設定されます。 正の値は、ホイールが右に回転したことを示します。負の値は、ホイールが左に回転したことを示します。

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

価値 意味
MK_CONTROL
0x0008
Ctrl キーがダウンしています。
MK_LBUTTON
0x0001
マウスの左ボタンが下に表示されます。
MK_MBUTTON
0x0010
マウスの中央ボタンが下にあります。
MK_RBUTTON
0x0002
マウスの右ボタンが下に表示されます。
MK_SHIFT
0x0004
Shift キーがダウンしています。
MK_XBUTTON1
0x0020
XBUTTON1がダウンしています。
MK_XBUTTON2
0x0040
XBUTTON2がダウンしています。

lParam

下位ワードは、画面の左上隅を基準としたポインターの x 座標を指定します。

上位ワードは、画面の左上隅を基準としたポインターの y 座標を指定します。

戻り値

アプリケーションがこのメッセージを処理すると、0 が返されます。

備考

次のコードを使用して、wParam パラメーターの情報を取得します。

fwKeys = GET_KEYSTATE_WPARAM(wParam);
zDelta = GET_WHEEL_DELTA_WPARAM(wParam);

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

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

前述のように、x 座標は戻り値の下位 短い になります。y 座標は高次 短い にあります (複数のモニターを持つシステムでは負の値を取ることができるので、どちらも 符号付き 値を表します)。 戻り値が変数に割り当てられている場合は、MAKEPOINTS マクロを使用して、戻り値から POINTS 構造体を取得できます。 GET_X_LPARAM または GET_Y_LPARAM マクロを使用して、x 座標または y 座標を抽出することもできます。

大事な

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

ホイールの回転は、120 に設定された WHEEL_DELTAの倍数です。 これはアクションを実行するためのしきい値であり、デルタごとに 1 つのアクション (たとえば、1 つの増分のスクロール) が発生する必要があります。

デルタは 120 に設定され、Microsoft や他のベンダーは、より細かい解像度のホイール (切り欠きのない自由に回転するホイールなど) を構築して、回転ごとにメッセージを送信できますが、各メッセージの値は小さくなります。 この機能を使用するには、WHEEL_DELTA に達するまで受信デルタ値を追加するか (デルタローテーションの場合は同じ応答を取得します)、より頻繁なメッセージに応答して部分的な行をスクロールします。 スクロールの粒度を選択し、デルタに達するまで差分を累積することもできます。

必要条件

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

関連項目

リファレンス

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_Y_LPARAM

GET_WHEEL_DELTA_WPARAM

HIWORD の

LOWORD を する

mouse_event

概念

マウス入力 の

その他のリソース を する

GetSystemMetrics の

MAKEPOINTS を する

ポイント を する

SystemParametersInfo