WM_XBUTTONDBLCLK メッセージ
カーソルがウィンドウのクライアント領域内にあるときに、1 つ目または 2 つ目の [X] ボタンをダブルクリックすると投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウに投稿されます。 それ以外の場合、メッセージはマウスをキャプチャしたウィンドウに投稿されます。
ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。
#define WM_XBUTTONDBLCLK 0x020D
パラメーター
-
wParam
-
下位ワードは、さまざまな仮想キーが押されているかどうかを示します。 これは、次の値のなかから 1 つまたは複数を指定できます。
Value 意味 - 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 ボタンが押されています。 上位ワードは、どのボタンがダブルクリックされたかを示します。 次のいずれかの値を指定できます。
Value 意味 - XBUTTON1
- 0x0001
1 つ目の [X] ボタンがダブルクリックされました。 - XBUTTON2
- 0x0002
2 つ目の [X] ボタンがダブルクリックされました。 -
lParam
-
下位ワードは、カーソルの x 座標を指定します。 座標は、クライアント領域の左上隅を基準にしています。
上位ワードは、カーソルの y 座標を指定します。 座標は、クライアント領域の左上隅を基準にしています。
戻り値
アプリケーションがこのメッセージを処理すると、TRUE が返されます。 戻り値の処理の詳細については、「解説」セクションを参照してください。
解説
wParam パラメーターの情報を取得するには、次のコードを使用します。
fwKeys = GET_KEYSTATE_WPARAM (wParam);
fwButton = GET_XBUTTON_WPARAM (wParam);
水平方向と垂直方向の位置を取得するには、次のコードを使用します。
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
前述のように、x 座標は戻り値の下位 short になり、y 座標は上位 short になります (複数のモニターを持つシステムでは負の値を取ることができるため、両方とも "符号付き" の値を表します)。 戻り値が変数に割り当てられている場合は、MAKEPOINTS マクロを使用して戻り値から POINTS 構造体を取得できます。 また、GET_X_LPARAM マクロまたは GET_Y_LPARAM マクロを使用して、x 座標または y 座標を抽出することもできます。
重要
LOWORD マクロまたは HIWORD マクロを使ってカーソル位置の x 座標と y 座標を抽出しないでください。これらのマクロは、複数のモニターを持つシステム上で正しくない結果を返します。 複数のモニターを持つシステムは負の x 座標と y 座標を持つ場合があり、LOWORD と HIWORD は座標を符号なし数量として扱います。
CS_DBLCLKS スタイルのウィンドウのみが WM_XBUTTONDBLCLK メッセージを受信できます。このメッセージは、システムのダブルクリック時間制限内でユーザーが [X] ボタンを押し、離し、再度押すたびに生成されます。 これらのボタンのいずれかをダブルクリックすると、実際には、WM_XBUTTONDOWN、WM_XBUTTONUP、WM_XBUTTONDBLCLK、そして再び WM_XBUTTONUP の 4 つのメッセージが生成されます。
WM_LBUTTONDBLCLK、WM_MBUTTONDBLCLK、WM_RBUTTONDBLCLK メッセージとは異なり、アプリケーションがこのメッセージを処理した場合は、TRUE を返す必要があります。 これにより、Windows 2000 より前の Windows システムでこのメッセージをシミュレーションするソフトウェアで、ウィンドウ プロシージャでメッセージが処理されたか、DefWindowProc が呼び出され処理されたかを判断できます。
要件
要件 | Value |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|