WM_MOUSEHWHEEL 메시지
마우스의 가로 스크롤 휠이 기울어지거나 회전할 때 활성 창으로 전송됩니다. DefWindowProc 함수는 메시지를 창의 부모로 전파합니다. DefWindowProc 메시지를 처리하는 창을 찾을 때까지 부모 체인에 전파하므로 메시지의 내부 전달이 없어야 합니다.
창은 WindowProc 함수를 통해 이 메시지를 받습니다.
#define WM_MOUSEHWHEEL 0x020E
매개 변수
-
wParam
-
상위 단어는 휠이 회전되는 거리를 나타내며, 120으로 설정된 WHEEL_DELTA배수 또는 요인으로 표현됩니다. 양수 값은 휠이 오른쪽으로 회전했음을 나타냅니다. 음수 값은 휠이 왼쪽으로 회전했음을 나타냅니다.
낮은 순서의 단어는 다양한 가상 키가 다운되었는지 여부를 나타냅니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.
값 의미 - 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 다운되었습니다. -
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 좌표는 반환 값의 짧은
중요하다
이러한 매크로는 여러 모니터가 있는 시스템에서 잘못된 결과를 반환하므로 LOWORD 또는 HIWORD 매크로를 사용하여 커서 위치의 x 및 y 좌표를 추출하지 마세요. 모니터가 여러 개 있는 시스템에는 음수 x 및 y 좌표가 있을 수 있으며 LOWORD 및
휠 회전은 120으로 설정된 WHEEL_DELTA배수입니다. 이는 수행할 작업에 대한 임계값이며 각 델타에 대해 이러한 작업(예: 한 증분 스크롤)이 발생해야 합니다.
델타는 Microsoft 또는 다른 공급업체가 회전당 더 많은 메시지를 보낼 수 있지만 각 메시지에서 더 작은 값으로 더 많은 메시지를 보낼 수 있도록 120으로 설정되었습니다. 이 기능을 사용하려면 WHEEL_DELTA 도달할 때까지 들어오는 델타 값을 추가하거나(따라서 델타 회전의 경우 동일한 응답을 받음) 더 빈번한 메시지에 대한 응답으로 부분선을 스크롤할 수 있습니다. 스크롤 세분성을 선택하고 델타에 도달할 때까지 델타를 누적할 수도 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2008 [데스크톱 앱만 해당] |
머리글 |
|
참고 항목
-
참조
-
LOWORD
-
개념
-
마우스 입력
-
기타 리소스
-
GetSystemMetrics