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 좌표는 반환 값의 하위 short에 있고 y 좌표는 반환 값의 상위 short에 있습니다. 둘 다 여러 모니터가 있는 시스템에서 음수 값을 사용할 수 있으므로 부호 있는 값을 나타냅니다. 반환 값이 변수에 할당된 경우 MAKEPOINTS 매크로를 사용하여 반환 값에서 POINTS 구조체를 가져올 수 있습니다. GET_X_LPARAM 또는 GET_Y_LPARAM 매크로를 사용하여 x 또는 y 좌표를 추출할 수도 있습니다.

중요

LOWORD 또는 HIWORD 매크로는 여러 모니터가 있는 시스템에서 잘못된 결과를 반환하므로 이 매크로를 사용하여 커서 위치의 x 및 y 좌표를 추출하지 마세요. 모니터가 여러 개 있는 시스템에는 음수 x 및 y 좌표가 있을 수 있으며 LOWORDHIWORD는 좌표를 부호 없는 수량으로 처리합니다.

WM_LBUTTONDOWN, WM_MBUTTONDOWNWM_RBUTTONDOWN 메시지와 달리 애플리케이션은 처리할 경우 이 메시지에서 TRUE를 반환해야 합니다. 이렇게 하면 Windows 2000 이전의 Windows 시스템에서 이 메시지를 시뮬레이션하는 소프트웨어가 창 프로시저가 메시지를 처리했는지 또는 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

POINTS