Compartir a través de


mensaje de WM_MOUSEHWHEEL

Se envía a la ventana activa cuando se inclina o gira la rueda de desplazamiento horizontal del mouse. La función DefWindowProc propaga el mensaje al elemento primario de la ventana. No debe haber ningún reenvío interno del mensaje, ya que DefWindowProc propaga la cadena primaria hasta que encuentre una ventana que la procese.

Una ventana recibe este mensaje a través de su función windowProc .

#define WM_MOUSEHWHEEL                  0x020E

Parámetros

wParam

La palabra de orden superior indica la distancia que gira la rueda, expresada en múltiplo o factores de WHEEL_DELTA, que se establece en 120. Un valor positivo indica que la rueda se ha girado a la derecha; un valor negativo indica que la rueda se ha girado a la izquierda.

La palabra de orden bajo indica si varias claves virtuales están inactivas. Este parámetro puede ser uno o varios de los siguientes valores.

Valor Significado
MK_CONTROL
0x0008
La tecla CTRL está presionada.
MK_LBUTTON
0x0001
El botón izquierdo del mouse está inactivo.
MK_MBUTTON
0x0010
El botón central del mouse está inactivo.
MK_RBUTTON
0x0002
El botón derecho del mouse está inactivo.
MK_SHIFT
0x0004
La tecla MAYÚS está inactiva.
MK_XBUTTON1
0x0020
El XBUTTON1 está inactivo.
MK_XBUTTON2
0x0040
El XBUTTON2 está inactivo.

lParam

La palabra de orden bajo especifica la coordenada x del puntero, en relación con la esquina superior izquierda de la pantalla.

La palabra de orden superior especifica la coordenada y del puntero, en relación con la esquina superior izquierda de la pantalla.

Valor devuelto

Si una aplicación procesa este mensaje, debe devolver cero.

Observaciones

Use el código siguiente para obtener la información del parámetro wParam.

fwKeys = GET_KEYSTATE_WPARAM(wParam);
zDelta = GET_WHEEL_DELTA_WPARAM(wParam);

Use el código siguiente para obtener la posición horizontal y vertical.

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam);

Como se indicó anteriormente, la coordenada x está en el orden bajo corto del valor devuelto; la coordenada y está en el corto de orden superior (ambos representan valores de firmados porque pueden tomar valores negativos en sistemas con varios monitores). Si el valor devuelto se asigna a una variable, puede usar la macro MAKEPOINTS para obtener una estructura POINTS del valor devuelto. También puede usar la macro GET_X_LPARAM o GET_Y_LPARAM para extraer la coordenada x o y.

Importante

No use la LOWORD ni macros hiword para extraer las coordenadas x e y de la posición del cursor porque estas macros devuelven resultados incorrectos en sistemas con varios monitores. Los sistemas con varios monitores pueden tener coordenadas x e y negativas negativas y LOWORD y HIWORD tratar las coordenadas como cantidades sin signo.

El giro de la rueda es un múltiplo de WHEEL_DELTA, que se establece en 120. Este es el umbral de acción que se va a realizar y una de estas acciones (por ejemplo, desplazarse por un incremento) debe producirse para cada delta.

El delta se estableció en 120 para permitir a Microsoft u otros proveedores crear ruedas de resolución más finas (por ejemplo, una rueda giratoria libremente sin pulgadas) para enviar más mensajes por rotación, pero con un valor más pequeño en cada mensaje. Para usar esta característica, puede agregar los valores delta entrantes hasta que se alcance WHEEL_DELTA (por lo que para una rotación diferencial obtiene la misma respuesta) o desplazar líneas parciales en respuesta a mensajes más frecuentes. También puede elegir la granularidad del desplazamiento y acumular deltas hasta que se alcance.

Requisitos

Requisito Valor
Cliente mínimo admitido
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo admitido
Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado
Winuser.h (incluya Windowsx.h)

Consulte también

de referencia de

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_Y_LPARAM

GET_WHEEL_DELTA_WPARAM

HIWORD

LOWORD

mouse_event

conceptual de

de entrada del mouse

otros recursos

GetSystemMetrics

MAKEPOINTS

PUNTOS de

SystemParametersInfo