WM_POINTERENTER訊息
當新的指標在視窗上進入偵測範圍時傳送至視窗, (暫留) 或現有指標在視窗界限內移動時。
視窗會透過其 WindowProc 函式接收此訊息。
![重要]
傳統型應用程式應該知道 DPI。 如果您的應用程式沒有 DPI 感知,則指標訊息和相關結構中包含的螢幕座標可能會因為 DPI 虛擬化而顯示不正確。 DPI 虛擬化可自動調整支援非 DPI 感知的應用程式,且預設為作用中, (使用者可以將其關閉) 。 如需詳細資訊,請參閱 撰寫高 DPI Win32 應用程式。
#define WM_POINTERENTER 0x0249
參數
-
wParam
-
包含指標識別碼和附加資訊。 使用下列宏來擷取 wParam 參數中的特定資訊。
- GET_POINTERID_WPARAM (wParam) :指標識別碼。
- IS_POINTER_NEW_WPARAM (wParam) :指出此訊息是否為新指標所產生的第一個訊息, (暫留) 。
- IS_POINTER_INRANGE_WPARAM (wParam) :指出此訊息是否由未離開偵測範圍的指標產生。 此旗標一律會針對 WM_POINTERENTER 訊息設定。
- IS_POINTER_INCONTACT_WPARAM (wParam) :旗標,指出此訊息是否由連絡人中的指標產生。 此旗標不會針對偵測範圍中的指標設定, (暫留) 。
-
lParam
-
包含指標的點位置。
注意
因為指標可能會透過非簡單區域與裝置接觸,所以這個點位置可能是更複雜的指標區域簡化。 可能的話,應用程式應該使用完整的指標區域資訊,而不是點位置。
使用下列宏來擷取點的實體螢幕座標。
- GET_X_LPARAM lParam () :x (水準點) 座標。
- GET_Y_LPARAM (lParam) :y (垂直點) 座標。
傳回值
如果應用程式處理此訊息,它應該會傳回零。
如果應用程式未處理此訊息,它應該呼叫 DefWindowProc。
備註
視窗可以使用 WM_POINTERENTER 通知來提供意見反應給使用者,而指標位於其表面上方,或回應其介面上的指標是否存在。
此通知只會傳送至接收指標輸入的視窗。 下表列出傳送此通知的一些情況。
動作 | 旗標集 | 傳送至的通知 |
---|---|---|
新的指標會在暫留) (進入偵測範圍。 |
IS_POINTER_NEW_WPARAM IS_POINTER_INRANGE_WPARAM |
指標進入偵測範圍的視窗。 |
暫留指標在視窗界限內交叉。 |
IS_POINTER_INRANGE_WPARAM |
指標已交叉的視窗。 |
![重要]
當視窗失去指標的擷取,而且收到 WM_POINTERCAPTURECHANGED 通知時,通常不會收到任何進一步的通知。 基於這個理由,請務必不要根據平均配對的WM_POINTERDOWN WM_POINTERUP/ 或WM_POINTERENTER/WM_POINTERLEAVE通知進行任何假設。
當輸入來自滑鼠時,由於滑鼠和指標訊息整合, 不會傳送WM_POINTERENTER 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2012 [僅限傳統型應用程式] |
標頭 |
|