Compartir a través de


Estructura de MOUSE_EVENT_RECORD

Importante

En este documento se describe la funcionalidad de la plataforma de consola que ya no forma parte de nuestra hoja de ruta del ecosistema. No se recomienda usar este contenido en nuevos productos, pero seguiremos admitiendo los usos existentes para el 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 consola clásica frente a terminal virtual .

Describe un evento de entrada del mouse en una estructura de INPUT_RECORD de 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 las coordenadas de celda de caracteres del búfer de pantalla de la consola.

dwButtonState
Estado de los botones del mouse. El bit menos significativo corresponde al botón izquierdo del mouse. El siguiente bit menos significativo corresponde al botón derecho del mouse. El siguiente bit indica el botón del mouse situado junto a la izquierda. A continuación, los bits corresponden de izquierda a derecha a los botones del mouse. Un bit es 1 si se presiona el botón.

Las siguientes constantes se definen para los primeros cinco botones del mouse.

Importancia Significado
FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 Botón del mouse situado más a la izquierda.
FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 El segundo botón de la izquierda.
FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 Tercer botón de la izquierda.
0x0010 de FROM_LEFT_4TH_BUTTON_PRESSED Cuarto botón de la izquierda.
0x0002 de RIGHTMOST_BUTTON_PRESSED Botón del mouse más a la derecha.

dwControlKeyState
Estado de las claves de control. Este miembro puede ser uno o varios de los siguientes valores.

Importancia Significado
CAPSLOCK_ON 0x0080 La luz CAPS LOCK está activada.
ENHANCED_KEY 0x0100 La clave se ha mejorado. Vea los comentarios.
LEFT_ALT_PRESSED 0x0002 Se presiona la tecla ALT izquierda.
LEFT_CTRL_PRESSED 0x0008 Se presiona la tecla CTRL izquierda.
NUMLOCK_ON 0x0020 La luz NUM LOCK está activada.
RIGHT_ALT_PRESSED 0x0001 Se presiona la tecla ALT derecha.
RIGHT_CTRL_PRESSED 0x0004 Se presiona la tecla CTRL derecha.
SCROLLLOCK_ON 0x0040 La luz SCROLL LOCK está activada.
SHIFT_PRESSED 0x0010 Se presiona la tecla MAYÚS.

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

Importancia 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 de pulsación de botón normal.
MOUSE_HWHEELED 0x0008 Se movió la rueda horizontal del mouse.

Si la palabra alta del miembro dwButtonState contiene un valor positivo, la rueda se gira a la derecha. De lo contrario, la rueda se giraba a la izquierda.
MOUSE_MOVED 0x0001 Se produjo un cambio en la posición del mouse.
MOUSE_WHEELED 0x0004 Se movió la rueda vertical del mouse.

Si la palabra alta del miembro dwButtonState contiene un valor positivo, la rueda se ha girado hacia delante, lejos del usuario. De lo contrario, la rueda se ha girado hacia atrás, hacia el usuario.

Observaciones

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 los botones del mouse. Los eventos del mouse se colocan en el búfer de entrada de una consola solo cuando el grupo de consola tiene el foco del teclado y el cursor está dentro de los bordes de la ventana de la consola.

Ejemplos

Para obtener un ejemplo, consulte 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]
Cabecera WinConTypes.h (a través de WinCon.h, incluya Windows.h)

Consulte también

COORD

INPUT_RECORD

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput