WM_XBUTTONDOWN訊息
當使用者按下XBUTTON1或XBUTTON2游標位於視窗工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
視窗會透過其 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
XBUTTON1已關閉。 - MK_XBUTTON2
- 0x0040
XBUTTON2已關閉。 高序字會指出按下哪個按鈕。 它可以是下列其中一個值。
價值 意義 - XBUTTON1
- 0x0001
按兩下XBUTTON1。 - XBUTTON2
- 0x0002
按兩下XBUTTON2。 -
lParam
-
低序字會指定游標的 x 座標。 座標相對於工作區的左上角。
高序字會指定游標的 Y 座標。 座標相對於工作區的左上角。
傳回值
如果應用程式處理此訊息,則應該 TRUE傳回 。 如需處理傳回值的詳細資訊,請參閱一節。
言論
Windows 支援最多五個按鈕的滑鼠:左、中和右,再加上另外兩個稱為XBUTTON1和XBUTTON2按鈕。 XBUTTON1和XBUTTON2按鈕通常位於靠近基底的滑鼠兩側。 這些額外的按鈕不存在於所有老鼠身上。 如果存在,XBUTTON1和XBUTTON2按鈕通常會對應至應用程式函式,例如網頁瀏覽器中的向前和向後流覽。
使用下列程式代碼來取得 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_LPARAM 或 GET_Y_LPARAM 巨集來擷取 x 或 y 座標。
重要
請勿使用 LOWORD 或 HIWORD 巨集來擷取游標位置的 x 和 y 坐標,因為這些巨集會在具有多個監視器的系統上傳回不正確的結果。 具有多個監視器的系統可以有負數 x 和 Y 座標,LOWORD 和 HIWORD 將座標視為未帶正負號的數量。
不同於 WM_LBUTTONDOWN、WM_MBUTTONDOWN和 WM_RBUTTONDOWN 訊息,如果應用程式處理此訊息,應用程式應該從此訊息傳 回 true。 這麼做可讓在 Windows 2000 之前的 Windows 系統上模擬此訊息的軟體,以判斷視窗程式是否已處理訊息,或呼叫 DefWindowProc 來處理它。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限傳統型應用程式] |
頁眉 |
|