Compartir a través de


Estructura de MOUSE_EVENT_RECORD

Importante

En este documento se describe funcionalidad de la plataforma de consola que ya no forma parte de nuestro plan de desarrollo del ecosistema. No se recomienda usar este contenido en nuevos productos, pero seguiremos admitiendo los usos existentes en un futuro indefinido. Nuestra solución moderna preferida se centra en secuencias de terminal virtual para lograr la máxima compatibilidad en escenarios multiplataforma. Puede encontrar más información sobre esta decisión de diseño en nuestro documento de Comparación de consola clásica y terminal virtual.

Describe un evento de entrada de mouse en una estructura INPUT_RECORD de la consola.

Sintaxis

typedef struct _MOUSE_EVENT_RECORD {
  COORD dwMousePosition;
  DWORD dwButtonState;
  DWORD dwControlKeyState;
  DWORD dwEventFlags;
} MOUSE_EVENT_RECORD;

Miembros

dwMousePosition
Estructura COORD que contiene la ubicación del cursor, en términos de coordenadas de celda de caracteres del búfer de pantalla de consola.

dwButtonState
Estado de los botones del mouse. El bit menos significativo corresponde al botón izquierdo del mouse. El siguiente bit en importancia corresponde al botón derecho del mouse. El siguiente corresponde al botón del mouse situado junto al botón izquierdo. Los bits restantes se corresponden de izquierda a derecha con los botones del mouse. Un bit será 1 si se presionó el botón.

Se definen las constantes siguientes para los primeros cinco botones del mouse.

Valor Significado
FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 Botón izquierdo del mouse.
FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 Segundo botón empezando por la izquierda.
FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 Tercer botón empezando por la izquierda.
FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 Cuarto botón empezando por la izquierda.
RIGHTMOST_BUTTON_PRESSED 0x0002 Botón derecho del mouse.

dwControlKeyState
Estado de las teclas de control. Este miembro puede tener uno o varios de los siguientes valores.

Valor Significado
CAPSLOCK_ON 0x0080 La luz de Bloq Mayús está encendida.
ENHANCED_KEY 0x0100 La tecla se ha mejorado. Consulte los comentarios.
LEFT_ALT_PRESSED 0x0002 La tecla ALT de la izquierda está presionada.
LEFT_CTRL_PRESSED 0x0008 La tecla CTRL de la izquierda está presionada.
NUMLOCK_ON 0x0020 La luz de BLOQ NUM está encendida.
RIGHT_ALT_PRESSED 0x0001 La tecla ALT de la derecha está presionada.
RIGHT_CTRL_PRESSED 0x0004 La tecla CTRL de la derecha está presionada.
SCROLLLOCK_ON 0x0040 La luz de BLOQ DESPL está encendida.
SHIFT_PRESSED 0x0010 Se presiona la tecla MAYÚS.

dwEventFlags
Tipo de evento de mouse. Si este valor es cero, indica que se ha presionado o soltado un botón del mouse. De lo contrario, este miembro tendrá uno de los siguientes valores.

Valor Significado
DOUBLE_CLICK 0x0002 Se produjo el segundo clic (pulsación de botón) de un doble clic. El primer clic se devuelve como un evento normal de pulsación de botón.
MOUSE_HWHEELED 0x0008 Se movió la rueda horizontal del mouse.

Si la palabra superior del miembro dwButtonState contiene un valor positivo, indica que la rueda se giró a la derecha. De lo contrario, la rueda se giró a la izquierda.
MOUSE_MOVED 0x0001 Cambió la posición del mouse.
MOUSE_WHEELED 0x0004 Se movió la rueda vertical del mouse.

Si la palabra superior del miembro dwButtonState contiene un valor positivo, indica que la rueda se giró hacia el lugar opuesto de donde se encuentra el usuario. De lo contrario, la rueda se giró hacia atrás, hacia el usuario.

Comentarios

Los eventos del mouse se colocan en el búfer de entrada cuando la consola está en modo de mouse (ENABLE_MOUSE_INPUT).

Los eventos del mouse se generan cada vez que el usuario mueve el mouse, o presiona o suelta uno de sus botones. Los eventos del mouse solo se colocan en el búfer de entrada de una consola cuando el foco del teclado está en el grupo de la consola y el cursor está dentro de los bordes de la ventana de la consola.

Ejemplos

Para un ejemplo, vea Lectura de eventos de búfer de entrada.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado WinConTypes.h (a través de WinCon.h, incluido Windows.h)

Consulte también

COORD

INPUT_RECORD

PeekConsoleInput

PeekConsoleInput

WriteConsoleInput