Entrada do mouse
Esta seção descreve como o sistema fornece entrada do mouse para seu aplicativo e como o aplicativo recebe e processa essa entrada.
Nesta seção
Tópico | Descrição |
---|---|
Sobre a entrada do mouse |
Este tópico discute a entrada do mouse. |
Usando a entrada do mouse |
Esta seção aborda tarefas associadas à entrada do mouse. |
Referência de entrada do mouse |
Funções
Nome | Descrição |
---|---|
_Trackmouseevent | Posta mensagens quando o ponteiro do mouse sai de uma janela ou passa o mouse sobre uma janela por um período especificado. Essa função chama TrackMouseEvent se ela existir, caso contrário, ela a emula. |
BlockInput | Impede que eventos de entrada de teclado e mouse atinjam aplicativos. |
DragDetect | Captura o mouse e rastreia seu movimento até que o usuário libere o botão esquerdo, pressione a tecla ESC ou mova o mouse para fora do retângulo de arrastar ao redor do ponto especificado. A largura e a altura do retângulo de arrastar são especificados pelos valores SM_CXDRAG e SM_CYDRAG retornados pela função GetSystemMetrics . |
EnableMouseInPointer | Permite que o mouse atue como um dispositivo apontador. |
Enablewindow | Habilita ou desabilita a entrada de mouse e teclado para a janela ou controle especificado. Quando a entrada é desabilitada, a janela não recebe entrada, como cliques e pressionamentos de teclas do mouse. Quando a entrada está habilitada, a janela recebe todas as entradas. |
GetCapture | Recupera um identificador para a janela (se houver) que capturou o mouse. Somente uma janela de cada vez pode capturar o mouse; essa janela recebe a entrada do mouse se o cursor está ou não dentro de suas bordas. |
GetDoubleClickTime | Recupera o tempo de clique duplo atual para o mouse. Um clique duplo é uma série de dois cliques do botão do mouse, o segundo ocorrendo dentro de um tempo especificado após o primeiro. O tempo de clique duplo é o número máximo de milissegundos que pode ocorrer entre o primeiro e o segundo clique de um clique duplo. |
GetMouseMovePointsEx | Recupera um histórico de até 64 coordenadas anteriores do mouse ou da caneta. |
IsWindowEnabled | Determina se a janela especificada está habilitada para entrada de mouse e teclado. |
Releasecapture | Libera a captura do mouse de uma janela no thread atual e restaura o processamento normal de entrada do mouse. Uma janela que capturou o mouse recebe toda a entrada do mouse, independentemente da posição do cursor, exceto quando um botão do mouse é clicado enquanto o ponto quente do cursor está na janela de outro thread. |
Sendinput | Sintetiza pressionamentos de teclas, movimentos do mouse e cliques de botão. |
Setcapture | Define a captura do mouse para a janela especificada que pertence ao thread atual. SetCapture captura a entrada do mouse quando o mouse está sobre a janela de captura ou quando o botão do mouse foi pressionado enquanto o mouse estava sobre a janela de captura e o botão ainda está inativo. Somente uma janela de cada vez pode capturar o mouse. Se o cursor do mouse estiver sobre uma janela criada por outro thread, o sistema direcionará a entrada do mouse para a janela especificada somente se um botão do mouse estiver inativo. |
SetDoubleClickTime | Define o tempo de clique duplo para o mouse. Um clique duplo é uma série de dois cliques de um botão do mouse, o segundo ocorrendo dentro de um tempo especificado após o primeiro. O tempo de clique duplo é o número máximo de milissegundos que podem ocorrer entre o primeiro e o segundo cliques de um clique duplo. |
SwapMouseButton | Inverte ou restaura o significado dos botões esquerdo e direito do mouse. |
Trackmouseevent | Posta mensagens quando o ponteiro do mouse sai de uma janela ou passa o mouse sobre uma janela por um período especificado. |
A função a seguir está obsoleta.
Função | Descrição |
---|---|
mouse_event | Sintetiza os cliques de botão e movimento do mouse. |
Notificações
Nome | Descrição |
---|---|
WM_APPCOMMAND | Notifica uma janela de que o usuário gerou um evento de comando do aplicativo, por exemplo, clicando em um botão de comando do aplicativo usando o mouse ou digitando uma tecla de comando do aplicativo no teclado. |
WM_CAPTURECHANGED | Enviado para a janela que está perdendo a captura do mouse. |
WM_LBUTTONDBLCLK | Postado quando o usuário clica duas vezes no botão esquerdo do mouse enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_LBUTTONDOWN | Postado quando o usuário pressiona o botão esquerdo do mouse enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_LBUTTONUP | Postado quando o usuário libera o botão esquerdo do mouse enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_MBUTTONDBLCLK | Postado quando o usuário clica duas vezes no botão do mouse do meio enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_MBUTTONDOWN | Postado quando o usuário pressiona o botão do mouse do meio enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_MBUTTONUP | Postado quando o usuário libera o botão do mouse do meio enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_MOUSEACTIVATE | Enviado quando o cursor está em uma janela inativa e o usuário pressiona um botão do mouse. A janela pai receberá essa mensagem somente se a janela filho a passar para a função DefWindowProc . |
WM_MOUSEHOVER | Postado em uma janela quando o cursor passa o mouse sobre a área do cliente da janela pelo período de tempo especificado em uma chamada anterior a TrackMouseEvent. |
WM_MOUSEHWHEEL | Enviado para a janela de foco quando a roda de rolagem horizontal do mouse é inclinada ou girada. A funçãoDefWindowProcpropaga a mensagem para o pai da janela. Não deve haver encaminhamento interno da mensagem, pois DefWindowProc a propaga até encontrar uma janela que a processe. |
WM_MOUSELEAVE | Postado em uma janela quando o cursor deixa a área do cliente da janela especificada em uma chamada anterior para TrackMouseEvent. |
WM_MOUSEMOVE | Postado em uma janela quando o cursor se move. Se o mouse não for capturado, a mensagem será postada na janela que contém o cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_MOUSEWHEEL | Enviado para a janela de foco quando a roda do mouse é girada. A função DefWindowProc propaga a mensagem para o pai da janela. Não deve haver encaminhamento interno da mensagem, pois DefWindowProc a propaga até encontrar uma janela que a processe. |
WM_NCHITTEST | Enviado para uma janela para determinar qual parte da janela corresponde a uma coordenada de tela específica. Isso pode acontecer, por exemplo, quando o cursor se move, quando um botão do mouse é pressionado ou liberado, ou em resposta a uma chamada para uma função como WindowFromPoint. Se o mouse não for capturado, a mensagem será enviada para a janela abaixo do cursor. Caso contrário, a mensagem será enviada para a janela que capturou o mouse. |
WM_NCLBUTTONDBLCLK | Postado quando o usuário clica duas vezes no botão esquerdo do mouse enquanto o cursor está dentro da área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCLBUTTONDOWN | Postado quando o usuário pressiona o botão esquerdo do mouse enquanto o cursor está dentro da área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCLBUTTONUP | Postado quando o usuário libera o botão esquerdo do mouse enquanto o cursor está dentro da área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCMBUTTONDBLCLK | Postado quando o usuário clica duas vezes no botão do meio do mouse enquanto o cursor está dentro da área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCMBUTTONDOWN | Postado quando o usuário pressiona o botão do meio do mouse enquanto o cursor está dentro da área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCMBUTTONUP | Postado quando o usuário libera o botão do meio do mouse enquanto o cursor está dentro da área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCMOUSEHOVER | Postado em uma janela quando o cursor passa o mouse sobre a área não cliente da janela pelo período de tempo especificado em uma chamada anterior aTrackMouseEvent. |
WM_NCMOUSELEAVE | Postado em uma janela quando o cursor deixa a área não cliente da janela especificada em uma chamada anterior paraTrackMouseEvent. |
WM_NCMOUSEMOVE | Postado em uma janela quando o cursor é movido dentro da área não cliente da janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCRBUTTONDBLCLK | Postado quando o usuário clica duas vezes no botão direito do mouse enquanto o cursor está dentro da área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCRBUTTONDOWN | Postado quando o usuário pressiona o botão direito do mouse enquanto o cursor está dentro da área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCRBUTTONUP | Postado quando o usuário libera o botão direito do mouse enquanto o cursor está dentro da área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCXBUTTONDBLCLK | Postado quando o usuário clica duas vezes no primeiro ou segundo botão X enquanto o cursor está na área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCXBUTTONDOWN | Postado quando o usuário pressiona o primeiro ou segundo botão X enquanto o cursor está na área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_NCXBUTTONUP | Postado quando o usuário libera o primeiro ou segundo botão X enquanto o cursor está na área não cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada. |
WM_RBUTTONDBLCLK | Postado quando o usuário clica duas vezes no botão direito do mouse enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_RBUTTONDOWN | Postado quando o usuário pressiona o botão direito do mouse enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_RBUTTONUP | Postado quando o usuário libera o botão direito do mouse enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_XBUTTONDBLCLK | Postado quando o usuário clica duas vezes no primeiro ou segundo botão X enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_XBUTTONDOWN | Postado quando o usuário pressiona o primeiro ou segundo botão X enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
WM_XBUTTONUP | Postado quando o usuário libera o primeiro ou segundo botão X enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse. |
Estruturas
Nome | Descrição |
---|---|
HARDWAREINPUT | Contém informações sobre uma mensagem simulada gerada por um dispositivo de entrada diferente de um teclado ou mouse. |
ENTRADA | Contém informações usadas para sintetizar eventos de entrada, como pressionamentos de tecla, movimento do mouse e cliques do mouse. |
LASTINPUTINFO | Contém a hora da última entrada. |
MOUSEINPUT | Contém informações sobre um evento simulado do mouse. |
MOUSEMOVEPOINT | Contém informações sobre a localização do mouse nas coordenadas da tela. |
TRACKMOUSEEVENT | Usada pela função TrackMouseEvent para acompanhar quando o ponteiro do mouse sai de uma janela ou passa o mouse sobre uma janela por um período de tempo especificado. |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de