共用方式為


WM_MOUSEHOVER訊息

當游標將游標停留在視窗的工作區上,在 之前呼叫 TrackMouseEvent之前所指定的一段時間內,張貼至視窗。

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

#define WM_MOUSEHOVER                   0x02A1

參數

wParam

指出各種虛擬金鑰是否已關閉。 此參數可以是下列其中一或多個值。

價值 意義
MK_CONTROL
0x0008
CTRL 鍵會壓低。
MK_LBUTTON
0x0001
滑鼠左鍵會壓低。
MK_MBUTTON
0x0010
滑鼠中間按鈕會壓低。
MK_RBUTTON
0x0002
滑鼠右鍵會壓低。
MK_SHIFT
0x0004
SHIFT 鍵很沮喪。
MK_XBUTTON1
0x0020
XBUTTON1已關閉。
MK_XBUTTON2
0x0040
XBUTTON2已關閉。

lParam

低序字會指定游標的 x 座標。 座標相對於工作區的左上角。

高序字會指定游標的 Y 座標。 座標相對於工作區的左上角。

傳回值

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

言論

產生 WM_MOUSEHOVER 時,暫留追蹤會停止。 如果應用程式需要進一步追蹤滑鼠暫留行為,則必須再次呼叫 TrackMouseEvent

使用下列程式代碼來取得水平和垂直位置:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

如上所述,x 座標位於傳回值的低序 ;Y 座標採用高階 (兩者都代表 帶正負號 值,因為它們可以在具有多個監視器的系統上接受負值)。 如果傳回值指派給變數,您可以使用 MAKEPOINTS 巨集,從傳回值取得 POINTS 結構。 您也可以使用 GET_X_LPARAMGET_Y_LPARAM 巨集來擷取 x 或 y 座標。

重要

請勿使用 LOWORDHIWORD 巨集來擷取游標位置的 x 和 y 坐標,因為這些巨集會在具有多個監視器的系統上傳回不正確的結果。 具有多個監視器的系統可以有負數 x 和 Y 座標,LOWORDHIWORD 將座標視為未帶正負號的數量。

要求

要求 價值
最低支援的用戶端
Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
頁眉
Winuser.h (包括 Windowsx.h)

另請參閱

參考

GET_X_LPARAM

GET_Y_LPARAM

GetCapture

SetCapture

TrackMouseEvent

TRACKMOUSEEVENT

概念

滑鼠輸入

其他資源

MAKEPOINTS