次の方法で共有


WM_NCXBUTTONDOWN メッセージ

カーソルがウィンドウの非クライアント領域にあるときに、ユーザーがXBUTTON1またはXBUTTON2を押したときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿

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

#define WM_NCXBUTTONDOWN                0x00AB

パラメーター

wParam を する

下位ワードは、WM_NCHITTEST メッセージの処理から DefWindowProc 関数によって返されるヒット テスト値を指定します。 ヒット テスト値の一覧については、「WM_NCHITTEST」を参照してください。 高次ワードは、どのボタンが押されたかを示します。 次のいずれかの値を指定できます。

価値 意味
XBUTTON1
0x0001
XBUTTON1が押されました。
XBUTTON2
0x0002
XBUTTON2が押されました。

lParam

カーソルの x 座標と y 座標を含む POINTS 構造体へのポインター。 座標は、画面の左上隅を基準にしています。

戻り値

アプリケーションがこのメッセージを処理する場合は、TRUE返す必要があります。 戻り値の処理の詳細については、「解説」セクションを参照してください。

備考

Windows では、左、中央、右の 5 つのボタンに加えて、XBUTTON1とXBUTTON2と呼ばれる 2 つの追加ボタンを備えたマウスがサポートされています。 XBUTTON1ボタンとXBUTTON2 ボタンは、多くの場合、マウスの側面 (ベースの近く) にあります。 これらの追加のボタンはすべてのマウスに存在するわけではありません。 存在する場合、多くの場合、XBUTTON1ボタンとXBUTTON2 ボタンは、Web ブラウザーでの前方ナビゲーションや後方ナビゲーションなど、アプリケーション関数にマップされます。

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

nHittest = GET_NCHITTEST_WPARAM(wParam); 
fwButton = GET_XBUTTON_WPARAM(wParam); 

次のコードを使用して、lParamから x 座標と y 座標 取得することもできます。

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

大事な

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

既定では、DefWindowProc 関数は、指定したポイントをテストしてカーソルの位置を取得し、適切なアクションを実行します。 必要に応じて、WM_SYSCOMMAND メッセージをウィンドウに送信します。

WM_NCLBUTTONDOWNWM_NCMBUTTONDOWN、および WM_NCRBUTTONDOWN メッセージとは異なり、アプリケーションは処理する場合、このメッセージから TRUE 返す必要があります。 これにより、Windows 2000 より前の Windows システムでこのメッセージをシミュレートするソフトウェアは、ウィンドウ プロシージャがメッセージを処理したか、DefWindowProc 呼び出して処理するかを判断できます。

必要条件

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

関連項目

リファレンス

DefWindowProc の

GET_X_LPARAM

GET_Y_LPARAM

WM_NCHITTEST

WM_NCXBUTTONDBLCLK

WM_NCXBUTTONUP

WM_SYSCOMMAND

概念

マウス入力 の

その他のリソース を する

MAKEPOINTS を する

ポイント を する