WM_XBUTTONDOWN訊息

當使用者按下第一個或第二個 X 按鈕時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。

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

#define WM_XBUTTONDOWN                  0x020B

參數

wParam

低序字表示各種虛擬金鑰是否關閉。 它可以是下列一或多個值。

意義
MK_CONTROL
0x0008
CTRL 鍵已關閉。
MK_LBUTTON
0x0001
滑鼠左鍵已關閉。
MK_MBUTTON
0x0010
滑鼠中間按鈕已關閉。
MK_RBUTTON
0x0002
滑鼠右鍵已關閉。
MK_SHIFT
0x0004
SHIFT 鍵已關閉。
MK_XBUTTON1
0x0020
第一個 X 按鈕已關閉。
MK_XBUTTON2
0x0040
第二個 X 按鈕已關閉。

高序單字表示按下哪一個按鈕。 它可以是下列值之一。

意義
XBUTTON1
0x0001
按一下第一個 X 按鈕。
XBUTTON2
0x0002
已按一下第二個 X 按鈕。

lParam

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

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

傳回值

如果應用程式處理此訊息,它應該會傳回 TRUE。 如需處理傳回值的詳細資訊,請參閱一節。

備註

使用下列程式碼來取得 wParam 參數中的資訊:

fwKeys = GET_KEYSTATE_WPARAM (wParam); 
fwButton = GET_XBUTTON_WPARAM (wParam);

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

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 會將座標視為不帶正負號的數量。

不同于 WM_LBUTTONDOWNWM_MBUTTONDOWNWM_RBUTTONDOWN 訊息,如果應用程式處理此訊息,應用程式應該從此訊息傳回 TRUE 。 這麼做可讓模擬Windows系統上早于 Windows 2000 之訊息的軟體判斷視窗程式是否已處理訊息,或呼叫DefWindowProc來處理訊息。

規格需求

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

另請參閱

參考

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_XBUTTON_WPARAM

GET_Y_LPARAM

GetCapture

SetCapture

WM_XBUTTONDBLCLK

WM_XBUTTONUP

概念

滑鼠輸入

其他資源

MAKEPOINTS