WM _ XBUTTONDOWN 訊息

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

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

#define WM_XBUTTONDOWN                  0x020B

參數

wParam

低序位單字指出是否有不同的虛擬機器碼已關閉。 它可以是下列一或多個值。

意義
MK _控制項
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 宏從傳回值取得 結構。 您也可以使用 get _ x _ LPARAMget _ Y _ LPARAM 宏來解壓縮 X 或 y 座標。

重要

請勿使用 LOWORDHIWORD 宏來將游標位置的 x 和 y 座標解壓縮,因為這些宏會在具有多個監視器的系統上傳回不正確的結果。 具有多個監視器的系統可以有負值的 x 和 y 座標,而 LOWORDHIWORD 會將座標視為不帶正負號的數量。

不同于 wm _ LBUTTONDOWNwm _ MBUTTONDOWNwm _ RBUTTONDOWN 訊息,應用程式應該會在處理時從這個訊息傳回 TRUE 。 這麼做可讓在 Windows 2000 之前的 Windows 系統上模擬此訊息的軟體,判斷視窗程式是否已處理訊息或呼叫 DefWindowProc 來處理訊息。

規格需求

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

另請參閱

參考

取得 _ KEYSTATE _ WPARAM

取得 _ X _ LPARAM

取得 _ XBUTTON _ WPARAM

取得 _ Y _ LPARAM

GetCapture

SetCapture

WM _ XBUTTONDBLCLK

WM _ XBUTTONUP

概念

滑鼠輸入

其他資源

MAKEPOINTS