WM_PARENTNOTIFY メッセージ

子孫ウィンドウで重要なアクションが発生したときに、ウィンドウに送信されます。 このメッセージは、WM_POINTERDOWN イベントを含むように拡張されました。 子ウィンドウが作成されると、システムでは、そのウィンドウを作成する CreateWindow または CreateWindowEx 関数が戻される直前に WM_PARENTNOTIFY を送信します。 子ウィンドウが破棄されると、システムでは、ウィンドウを破棄する処理が行われる前にこのメッセージを送信します。

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

![重要]
デスクトップ アプリは DPI に対応している必要があります。 アプリが DPI 対応でない場合、DPI 仮想化により、ポインター メッセージと関連する構造に含まれる画面座標が不正確に表示される可能性があります。 DPI 仮想化では、DPI 対応ではなく、既定でアクティブな (ユーザーが無効にすることができます) アプリケーションに対して自動スケーリングのサポートを提供します。 詳細については、「高 DPI Win32 アプリケーションの書き込み」を参照してください。

#define WM_PARENTNOTIFY             0x0210

パラメーター

wParam

wParam の下位ワードでは、親に通知されるイベントを指定します。 上位ワードの値は、下位ワードの値によって異なります。 このパラメーターには、次の値のいずれかを指定できます。

LOWORD(wParam) 意味
WM_CREATE
0x0001
子ウィンドウが作成されています。
HIWORD(wParam) は子ウィンドウの識別子です。
lParam は、子ウィンドウへのハンドルです。
WM_DESTROY
0x0002
子ウィンドウが破棄されています。
HIWORD(wParam) は子ウィンドウの識別子です。
lParam は、子ウィンドウへのハンドルです。
WM_LBUTTONDOWN
0x0201
ユーザーが子ウィンドウの上にカーソルを置き、マウスの左ボタンをクリックしました。
HIWORD(wParam) は未定義です。
lParam では、カーソルの x 座標が下位ワードで、カーソルの y 座標が上位ワードです。
WM_MBUTTONDOWN
0x0207
ユーザーが子ウィンドウの上にカーソルを置き、マウスの中央のボタンをクリックしました。
HIWORD(wParam) は未定義です。
lParam では、カーソルの x 座標が下位ワードで、カーソルの y 座標が上位ワードです。
WM_RBUTTONDOWN
0x0204
ユーザーが子ウィンドウの上にカーソルを置き、マウスの右ボタンをクリックしました。
HIWORD(wParam) は未定義です。
lParam では、カーソルの x 座標が下位ワードで、カーソルの y 座標が上位ワードです。
WM_XBUTTONDOWN
0x020B
ユーザーが子ウィンドウの上にカーソルを置き、最初または 2 番目の X ボタンをクリックしました。
HIWORD(wParam) は、どのボタンが押されたかを示します。 このパラメーターには、XBUTTON1 または XBUTTON2 のいずれかの値を指定できます。
lParam では、カーソルの x 座標が下位ワードで、カーソルの y 座標が上位ワードです。
WM_POINTERDOWN
0x0246
ポインターが子ウィンドウに接触しました。
HIWORD(wParam) には、WM_POINTERDOWN イベントを生成したポインターの識別子が含まれています。

lParam

ポインターのポイント位置が含まれます。

Note

ポインターは非単純領域経由でデバイスと接触する可能性があるため、このポイント位置では、より複雑なポインター領域が簡略化される可能性があります。 可能な限り、アプリケーションではポイント位置ではなく、完全なポインター領域情報を使用する必要があります。

ポイントの物理的な画面座標を取得するには、次のマクロを使用します。

戻り値

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

アプリケーションでこのメッセージが処理されない場合、DefWindowProc が呼び出されます。

解説

このメッセージは、最上位ウィンドウを含め、子ウィンドウのすべての先祖ウィンドウにも送信されます。

WS_EX_NOPARENTNOTIFY 拡張ウィンドウ スタイルを持つもの以外のすべての子ウィンドウでは、親ウィンドウにこのメッセージを送信します。 既定では、ダイアログ ボックス内の子ウィンドウには WS_EX_NOPARENTNOTIFY スタイルが使用されます。ただし、このスタイルを使用せずに子ウィンドウを作成するために CreateWindowEx 関数が呼び出される場合を除きます。

この通知が送られると、子ウィンドウの先祖ウィンドウがポインター情報を調べて、必要に応じてポインター キャプチャ関数を使用してポインターをキャプチャする機会を得られます。

要件

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

関連項目

Messages (メッセージ)

CreateWindow

CreateWindowEx

HIWORD

LOWORD

WM_CREATE

WM_DESTROY

WM_LBUTTONDOWN

WM_MBUTTONDOWN

WM_RBUTTONDOWN

WM_XBUTTONDOWN