WM_PARENTNOTIFY訊息

在子代視窗上發生重大動作時傳送至視窗。 此訊息現在已擴充為包含 WM_POINTERDOWN 事件。 建立子視窗時,系統會在建立視窗的CreateWindowCreateWindowEx函式之前傳送WM_PARENTNOTIFY。 當子視窗損毀時,系統會先傳送訊息,再進行任何處理以終結視窗。

視窗會透過 其 WindowProc 函 式接收此訊息。

[!重要]
傳統型應用程式應該是 DPI 感知。 如果您的 app 無法感知 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
使用者已將游標放在子視窗上方,並按一下第一個或第二個 X 按鈕。
HIWORD (wParam) 表示按下的按鈕。 此參數可以是下列其中一個值:XBUTTON1 或 XBUTTON2。
lParam 是游標的 X 座標是低序單字,而游標的 Y 座標則是高序單字。
WM_POINTERDOWN
0x0246
指標已與子視窗接觸。
HIWORD (wParam) 包含產生 WM_POINTERDOWN 事件的指標識別碼。

lParam

包含指標的點位置。

注意

因為指標可能會透過非簡單區域與裝置接觸,所以這個點位置可能是更複雜的指標區域簡化。 可能的話,應用程式應該使用完整的指標區域資訊,而不是點位置。

使用下列宏來擷取點的實體螢幕座標。

傳回值

如果應用程式處理此訊息,則會傳回零。

如果應用程式未處理此訊息,它會呼叫 DefWindowProc

備註

此訊息也會傳送至子視窗的所有上階視窗,包括最上層視窗。

除了具有 WS_EX_NOPARENTNOTIFY 擴充視窗樣式的所有子視窗以外,請將此訊息傳送至其父視窗。 根據預設,對話方塊中的子視窗具有 WS_EX_NOPARENTNOTIFY 樣式,除非呼叫 CreateWindowEx 函式來建立沒有此樣式的子視窗。

此通知可讓子視窗的上階視窗有機會檢查指標資訊,並視需要使用指標擷取函式來擷取指標。

規格需求

需求
最低支援的用戶端
Windows 8 [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2012 [僅限傳統型應用程式]
標頭
Winuser.h (包含 Windows.h)

另請參閱

訊息

CreateWindow

CreateWindowEx

HIWORD

LOWORD

WM_CREATE

WM_DESTROY

WM_LBUTTONDOWN

WM_MBUTTONDOWN

WM_RBUTTONDOWN

WM_XBUTTONDOWN