WM_POINTERLEAVE訊息

當指標離開視窗上的偵測範圍時傳送至視窗, (暫留) 或指標在視窗界限外移動時。

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

![重要]
傳統型應用程式應該知道 DPI。 如果您的應用程式沒有 DPI 感知,則指標訊息和相關結構中包含的螢幕座標可能會因為 DPI 虛擬化而顯示不正確。 DPI 虛擬化可自動調整支援非 DPI 感知的應用程式,且預設為作用中, (使用者可以將其關閉) 。 如需詳細資訊,請參閱 撰寫高 DPI Win32 應用程式

#define WM_POINTERLEAVE                 0x024A

參數

wParam

包含指標識別碼和其他資訊。 使用下列宏來擷取此資訊。

  • GET_POINTERID_WPARAM (wParam) :指標識別碼。
  • IS_POINTER_INRANGE_WPARAM (wParam) :指出此訊息是否由未離開偵測範圍的指標產生。 當指標離開視窗的偵測範圍時,不會設定此旗標。
  • IS_POINTER_INCONTACT_WPARAM (wParam) :旗標,指出此訊息是否由連絡人中的指標產生。 此旗標不會針對偵測範圍中的指標設定, (暫留) 。

lParam

包含指標的點位置。

注意

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

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

傳回值

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

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

備註

視窗可以使用 WM_POINTERLEAVE 通知來變更模式,或在指標位於視窗表面時停止對使用者的任何意見反應。

此通知只會傳送至接收指標輸入的視窗。 下表列出傳送此通知的一些情況。

動作 旗標集 傳送至的通知
暫留指標會跨越視窗界限。 IS_POINTER_INRANGE_WPARAM 其界限外部的視窗指標移動。
指標超出偵測範圍。 N/A 指標離開偵測範圍的視窗。

![重要]
當視窗失去指標的擷取,而且收到 WM_POINTERCAPTURECHANGED 通知時,通常不會收到任何進一步的通知。 基於這個理由,請務必不要根據平均配對的WM_POINTERDOWN/WM_POINTERUPWM_POINTERENTER WM_POINTERLEAVE/ 通知進行任何假設。

如果使用輸入數位板來維護連絡人,而且指標會在視窗外移動,則不會產生 WM_POINTERLEAVE 。 只有在暫留指標跨越視窗界限或連絡人終止時,才會產生WM_POINTERLEAVE

如果輸入源自滑鼠裝置,WM_POINTERLEAVE就會張貼到張貼的訊息佇列。

規格需求

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

另請參閱

訊息

參考

GET_POINTERID_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM