Compartilhar via


Estrutura MOUSE_EVENT_RECORD

Importante

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

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

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 o local 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 do mouse mais à esquerda. O próximo bit menos significativo corresponde ao botão do mouse mais à direita. O próximo bit indica o botão do mouse próximo à esquerda. Em seguida, os bits correspondem da esquerda para a direita aos botões do mouse. Um bit será 1 se o botão tiver sido 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 do mouse mais à esquerda.
FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 O segundo botão fom à 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 do mouse mais à direita.

dwControlKeyState
O estado das chaves de controle. Esse membro pode ser um ou mais dos valores a seguir.

Valor Significado
CAPSLOCK_ON 0x0080 A luz CAPS LOCK está ativada.
ENHANCED_KEY 0x0100 A chave é aprimorada. Confira as 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á ativada.
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á ativada.
SHIFT_PRESSED 0x0010 A tecla SHIFT é pressionada.

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

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

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

Se a palavra alta do membro dwButtonState contiver um valor positivo, a roda será girada para frente, longe do usuário. Caso contrário, a roda foi 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 do mouse (ENABLE_MOUSE_INPUT).

Os eventos do mouse são gerados sempre que o usuário move o mouse ou 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 Ler eventos de buffer de entrada.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos para desktop]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho WinConTypes.h (via WinCon.h, inclua Windows.h)

Consulte também

COORD

INPUT_RECORD

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput