Partilhar via


MOUSE_EVENT_RECORD estrutura

Importante

Este documento descreve a funcionalidade da plataforma de console que não faz mais parte do nosso roteiro de ecossistema. Não recomendamos o uso deste conteúdo em novos produtos, mas continuaremos a oferecer suporte aos usos existentes por tempo indeterminado. Nossa solução moderna preferida se concentra em sequências de terminais virtuais para máxima compatibilidade em cenários multiplataforma. Você pode encontrar mais informações sobre essa decisão de design em nosso documento clássico de console versus terminal virtual.

Descreve um evento de entrada do mouse em uma estrutura de INPUT_RECORD de console.

Sintaxe

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

Membros

dwMousePosition
Uma estrutura COORD que contém a localização do cursor, em termos das coordenadas de célula de caracteres do buffer de tela do console.

dwButtonState
O status dos botões do mouse. O bit menos significativo corresponde ao botão mais à esquerda do mouse. O próximo bit menos significativo corresponde ao botão do mouse mais à direita. O bit seguinte indica o botão do rato mais à esquerda. Os bits correspondem então da esquerda para a direita aos botões do rato. Um pouco é 1 se o botão foi pressionado.

As constantes a seguir são definidas para os cinco primeiros botões do mouse.

Valor Significado
FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 O botão mais à esquerda do mouse.
FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 O segundo botão fom a esquerda.
FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 O terceiro botão da esquerda.
FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 O quarto botão da esquerda.
RIGHTMOST_BUTTON_PRESSED 0x0002 O botão mais à direita do mouse.

dwControlKeyState
O estado das chaves de controle. Este membro pode ser um ou mais dos seguintes valores.

Valor Significado
CAPSLOCK_ON 0x0080 A luz CAPS LOCK está acesa.
ENHANCED_KEY 0x0100 A chave é melhorada. Ver observações.
LEFT_ALT_PRESSED 0x0002 A tecla ALT esquerda é pressionada.
LEFT_CTRL_PRESSED 0x0008 A tecla CTRL esquerda é pressionada.
NUMLOCK_ON 0x0020 A luz NUM LOCK está acesa.
RIGHT_ALT_PRESSED 0x0001 A tecla ALT direita é pressionada.
RIGHT_CTRL_PRESSED 0x0004 A tecla CTRL direita é pressionada.
SCROLLLOCK_ON 0x0040 A luz SCROLL LOCK está acesa.
SHIFT_PRESSED 0x0010 A tecla SHIFT é pressionada.

dwEventFlags
O tipo de evento do mouse. Se esse valor for zero, ele indica que um botão do mouse está sendo pressionado ou liberado. Caso contrário, esse membro é um dos seguintes valores.

Valor Significado
DOUBLE_CLICK 0x0002 Ocorreu o segundo clique (pressionamento do botão) de um clique duplo. O primeiro clique é retornado como um evento regular de pressionar o botão.
MOUSE_HWHEELED 0x0008 A roda horizontal do mouse foi movida.

Se a palavra alta do membro dwButtonState contiver um valor positivo, a roda foi girada para a direita. Caso contrário, a roda era girada para a esquerda.
MOUSE_MOVED 0x0001 Ocorreu uma alteração na posição do rato.
MOUSE_WHEELED 0x0004 A roda vertical do rato foi deslocada.

Se a palavra alta do membro dwButtonState contiver um valor positivo, a roda foi girada para frente, longe do usuário. Caso contrário, a roda era girada para trás, em direção ao usuário.

Observações

Os eventos do mouse são colocados no buffer de entrada quando o console está no modo de mouse (ENABLE_MOUSE_INPUT).

Os eventos do mouse são gerados sempre que o usuário move o mouse, pressiona ou libera um dos botões do mouse. Os eventos do mouse são colocados no buffer de entrada de um console somente quando o grupo de console tem o foco do teclado e o cursor está dentro das bordas da janela do console.

Exemplos

Para obter um exemplo, consulte Lendo eventos de buffer de entrada.

Requerimentos

   
Cliente mínimo suportado Windows 2000 Professional [apenas aplicações de ambiente de trabalho]
Servidor mínimo suportado Windows 2000 Server [apenas aplicações de ambiente de trabalho]
Cabeçalho WinConTypes.h (via WinCon.h, incluir Windows.h)

Ver também

COORD

INPUT_RECORD

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput