WM_NCXBUTTONDOWN メッセージ
カーソルがウィンドウの非クライアント領域内にあるときに、1 つ目または 2 つ目の [X] ボタンを押すと投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿 "されません"。
ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。
#define WM_NCXBUTTONDOWN 0x00AB
パラメーター
-
wParam
-
下位ワードは、WM_NCHITTEST メッセージを処理することで DefWindowProc 関数によって返されたヒットテスト値を指定します。 ヒット テスト値の一覧については、WM_NCHITTEST に関するページを参照してください。 高位ワードは、どのボタンが押されたかを示します。 次のいずれかの値を指定できます。
Value 意味 - XBUTTON1
- 0x0001
最初の [X] ボタンが押されました。 - XBUTTON2
- 0x0002
2 つ目の [X] ボタンが押されました。 -
lParam
-
カーソルの x 座標と y 座標を含む POINTS 構造体へのポインターです。 座標は、画面の左上隅を起点とした相対座標です。
戻り値
アプリケーションがこのメッセージを処理すると、TRUE が返されます。 戻り値の処理の詳細については、「解説」セクションを参照してください。
解説
wParam パラメーターの情報を取得するには、次のコードを使用します。
nHittest = GET_NCHITTEST_WPARAM(wParam);
fwButton = GET_XBUTTON_WPARAM(wParam);
次のコードを使用して、lParam から x 座標と y 座標を取得することもできます。
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
重要
LOWORD マクロまたは HIWORD マクロを使ってカーソル位置の x 座標と y 座標を抽出しないでください。これらのマクロは、複数のモニターを持つシステム上で正しくない結果を返します。 複数のモニターを持つシステムは、負の x 座標と y 座標を持つ場合があり、LOWORD と HIWORD は座標を符号なし数量として扱います。
既定で、DefWindowProc 関数では、指定したポイントをテストしてカーソルの位置を取得し、適切なアクションが実行されます。 必要に応じて、WM_SYSCOMMAND メッセージがウィンドウに送信されます。
WM_NCLBUTTONDOWN、WM_NCMBUTTONDOWN、WM_NCRBUTTONDOWN メッセージとは異なり、このメッセージがアプリケーションで処理された場合、TRUE が返される必要があります。 これにより、Windows 2000 より前の Windows システムでこのメッセージをシミュレーションするソフトウェアで、ウィンドウ プロシージャでメッセージが処理されたか、DefWindowProc が呼び出され処理されたかを判断できます。
要件
要件 | Value |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
関連項目
-
リファレンス
-
Conceptual
-
その他のリソース