mensaje de WM_MOUSEWHEEL
Se envía a la ventana de foco cuando se gira la rueda 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_MOUSEWHEEL 0x020A
Parámetros
-
wParam
-
La palabra de orden alto indica la distancia a la que gira la rueda, expresada en múltiplo o divisiones de WHEEL_DELTA, que es 120. Un valor positivo indica que la rueda se ha girado hacia delante, lejos del usuario; un valor negativo indica que la rueda se ha girado hacia atrás, hacia el usuario.
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
Importante
No use la
El giro de la rueda será 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 (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 diferenciales entrantes hasta que se alcance WHEEL_DELTA (por lo que para una rotación diferencial obtiene la misma respuesta) o desplazarse por líneas parciales en respuesta a los mensajes más frecuentes. También puede elegir la granularidad del desplazamiento y acumular deltas hasta que se alcance.
Tenga en cuenta que no hay fwKeys para MSH_MOUSEWHEEL. De lo contrario, los parámetros son exactamente iguales que para WM_MOUSEWHEEL.
Es necesario que la aplicación reenvíe MSH_MOUSEWHEEL a los objetos o controles incrustados. La aplicación es necesaria para enviar el mensaje a una aplicación OLE incrustada activa. Es opcional que la aplicación la envíe a un control habilitado para ruedas con foco. Si la aplicación envía el mensaje a un control, puede comprobar el valor devuelto para ver si el mensaje se procesó. Los controles son necesarios para devolver un valor de TRUE si procesan el mensaje.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo admitido |
Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo admitido |
Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado |
|
Consulte también
-
de referencia de
-
conceptual de
-
otros recursos
-
PUNTOS de