WM_PARENTNOTIFY訊息
在子代視窗上發生重大動作時傳送至視窗。 此訊息現在已擴充為包含 WM_POINTERDOWN 事件。 建立子視窗時,系統會在建立視窗的CreateWindow或CreateWindowEx函式之前傳送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
-
包含指標的點位置。
注意
因為指標可能會透過非簡單區域與裝置接觸,所以這個點位置可能是更複雜的指標區域簡化。 可能的話,應用程式應該使用完整的指標區域資訊,而不是點位置。
使用下列宏來擷取點的實體螢幕座標。
- GET_X_LPARAM (lParam) :x (水準點) 座標。
- GET_Y_LPARAM (lParam) :y (垂直點) 座標。
傳回值
如果應用程式處理此訊息,則會傳回零。
如果應用程式未處理此訊息,它會呼叫 DefWindowProc。
備註
此訊息也會傳送至子視窗的所有上階視窗,包括最上層視窗。
除了具有 WS_EX_NOPARENTNOTIFY 擴充視窗樣式的所有子視窗以外,請將此訊息傳送至其父視窗。 根據預設,對話方塊中的子視窗具有 WS_EX_NOPARENTNOTIFY 樣式,除非呼叫 CreateWindowEx 函式來建立沒有此樣式的子視窗。
此通知可讓子視窗的上階視窗有機會檢查指標資訊,並視需要使用指標擷取函式來擷取指標。
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 |
Windows 8 [僅限傳統型應用程式] |
| 最低支援的伺服器 |
Windows Server 2012 [僅限傳統型應用程式] |
| 標頭 |
|