WM_MOUSEWHEEL 메시지

마우스 휠을 회전할 때 포커스 창으로 전송됩니다. DefWindowProc 함수는 창의 부모에 메시지를 전파합니다. 메시지를 처리하는 창을 발견할 때까지 DefWindowProc 에서 부모 체인을 전파하므로 메시지의 내부 전달은 없어야 합니다.

창은 WindowProc 함수를 통해 이 메시지를 받습니다.

#define WM_MOUSEWHEEL                   0x020A

매개 변수

wParam

상위 단어는 휠이 회전되는 거리를 나타내며, WHEEL_DELTA 배수 또는 나누기(120)로 표현됩니다. 양수 값은 휠이 사용자로부터 멀리 앞으로 회전되었음을 나타냅니다. 음수 값은 휠이 사용자를 향해 뒤로 회전했음을 나타냅니다.

낮은 순서의 단어는 다양한 가상 키가 다운되었는지 여부를 나타냅니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

의미
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 단추가 아래쪽에 있습니다.

lParam

낮은 순서의 단어는 화면의 왼쪽 위 모서리를 기준으로 포인터의 x 좌표를 지정합니다.

상위 단어는 화면의 왼쪽 위 모서리를 기준으로 포인터의 y 좌표를 지정합니다.

반환 값

애플리케이션이 이 메시지를 처리하는 경우 0을 반환해야 합니다.

설명

다음 코드를 사용하여 wParam 매개 변수의 정보를 가져옵니다.

fwKeys = GET_KEYSTATE_WPARAM(wParam);
zDelta = GET_WHEEL_DELTA_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 좌표를 가질 수 있으며 LOWORDHIWORD 는 좌표를 부호 없는 수량으로 처리합니다.

휠 회전은 120으로 설정된 WHEEL_DELTA 배수입니다. 이는 수행할 작업에 대한 임계값이며 각 델타에 대해 이러한 작업(예: 한 증분 스크롤)이 발생해야 합니다.

델타는 Microsoft 또는 다른 공급업체가 회전당 더 많은 메시지를 보낼 수 있지만 각 메시지에서 더 작은 값으로 더 많은 메시지를 보낼 수 있도록 더 미세한 해상도 휠(노치 없는 자유 회전 휠)을 빌드할 수 있도록 120으로 설정되었습니다. 이 기능을 사용하려면 WHEEL_DELTA 도달할 때까지 들어오는 델타 값을 추가하거나(델타 회전의 경우 동일한 응답을 받음) 더 빈번한 메시지에 대한 응답으로 부분선을 스크롤할 수 있습니다. 스크롤 세분성을 선택하고 델타에 도달할 때까지 델타를 누적할 수도 있습니다.

MSH_MOUSEWHEEL대한 fwKey는 없습니다. 그렇지 않으면 매개 변수는 WM_MOUSEWHEEL 매개 변수와 정확히 동일합니다.

포함된 개체 또는 컨트롤에 MSH_MOUSEWHEEL 전달하는 것은 애플리케이션에 달려 있습니다. 애플리케이션은 활성 임베디드 OLE 애플리케이션에 메시지를 보내야 합니다. 애플리케이션이 포커스가 있는 휠 지원 컨트롤로 보내는 것은 선택 사항입니다. 애플리케이션이 컨트롤에 메시지를 보내는 경우 반환 값을 확인하여 메시지가 처리되었는지 확인할 수 있습니다. 컨트롤은 메시지를 처리하는 경우 TRUE 값을 반환하는 데 필요합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Winuser.h(Windowsx.h 포함)

추가 정보

참조

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_Y_LPARAM

GET_WHEEL_DELTA_WPARAM

HIWORD

LOWORD

mouse_event

개념

마우스 입력

기타 리소스

GetSystemMetrics

메이크포인트

포인트

SystemParametersInfo