Estrutura MOUSE_EVENT_RECORD
Importante
Este documento descreve a funcionalidade da plataforma do console que não faz mais parte do nosso roteiro de ecossistema. Não recomendamos o uso desse 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 de multiplataforma. Você pode encontrar mais informações sobre essa decisão de design em nosso documento Console clássico versus terminal virtual.
Descreve um evento de entrada de mouse em uma estrutura INPUT_RECORD do 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 o local do cursor, ou seja, as coordenadas de célula de caractere do buffer da 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 mais à direita do mouse. O próximo bit indica o botão do mouse ao lado da esquerda. Os bits então correspondem da esquerda para a direita aos botões do mouse. O bit é 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 a partir da esquerda. |
FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 | O terceiro botão a partir da esquerda. |
FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 | O quarto botão a partir da esquerda. |
RIGHTMOST_BUTTON_PRESSED 0x0002 | O botão mais à direita do mouse. |
dwControlKeyState
O estado das teclas de controle. Esse membro pode ser um ou mais dos valores a seguir:
Valor | Significado |
---|---|
CAPSLOCK_ON 0x0080 | A luz do CAPS LOCK está acesa. |
ENHANCED_KEY 0x0100 | A tecla é aprimorada. Consulte os comentários. |
LEFT_ALT_PRESSED 0x0002 | A tecla ALT esquerda está pressionada. |
LEFT_CTRL_PRESSED 0x0008 | A tecla CTRL esquerda está pressionada. |
NUMLOCK_ON 0x0020 | A luz do NUM LOCK está acesa. |
RIGHT_ALT_PRESSED 0x0001 | A tecla ALT direita está pressionada. |
RIGHT_CTRL_PRESSED 0x0004 | A tecla CTRL direita está pressionada. |
SCROLLLOCK_ON 0x0040 | A luz do SCROLL LOCK está acesa. |
SHIFT_PRESSED 0x0010 | A tecla SHIFT está pressionada. |
dwEventFlags
O tipo do evento do mouse. Quando o valor é zero, ocorre o pressionamento ou liberação de um botão do mouse. Caso contrário, esse membro será um dos seguintes valores.
Valor | Significado |
---|---|
DOUBLE_CLICK 0x0002 | Ocorreu o segundo clique (pressionar o botão) de um clique duplo. O primeiro clique é retornado como um evento normal de pressionar o botão. |
MOUSE_HWHEELED 0x0008 | O botão horizontal de rolagem do mouse foi movido. Se a palavra superior do membro dwButtonState contiver um valor positivo, o botão de rolagem do mouse foi girado para a direita. Caso contrário, o botão de rolagem do mouse foi girado para a esquerda. |
MOUSE_MOVED 0x0001 | Ocorreu uma mudança na posição do mouse. |
MOUSE_WHEELED 0x0004 | O botão vertical de rolagem do mouse foi movido. Se a palavra superior do membro dwButtonState contiver um valor positivo, o botão de rolagem do mouse foi girado para a frente, em direção oposta ao usuário. Caso contrário, o botão de rolagem do mouse foi girado para trás, em direção ao usuário. |
Comentários
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 de 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, confira Como ler eventos de buffer de entrada.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho | WinConTypes.h (via WinCon.h, inclui o Windows.h) |