Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta seção descreve como o sistema fornece a entrada do mouse para seu aplicativo e como o aplicativo recebe e processa essa entrada.
Nesta secçã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. |
|
de referência de entrada do mouse |
Funções
| Designação | 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 de tempo especificado. Esta função chama TrackMouseEvent se existir, caso contrário, emula-o. |
| BlockInput | Impede que eventos de entrada de teclado e mouse alcancem 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 arraste ao redor do ponto especificado. A largura e a altura do retângulo de arrasto são especificadas pelos valores SM_CXDRAG e SM_CYDRAG retornados pela funçãoGetSystemMetrics. |
| EnableMouseInPointer | Permite que o mouse atue como um dispositivo apontador. |
| EnableWindow | Habilita ou desabilita a entrada de mouse e teclado na janela ou controle especificado. Quando a entrada está desativada, a janela não recebe entradas, como cliques do mouse e pressionamentos de teclas. Quando a entrada está ativada, a janela recebe todas as entradas. |
| GetCapture | Recupera uma alça para a janela (se houver) que capturou o mouse. Apenas uma janela de cada vez pode capturar o mouse; Esta janela recebe a entrada do mouse se o cursor está ou não dentro de suas bordas. |
| GetDoubleClickTime | Recupera o tempo atual de clique duplo 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 todas as entradas 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 em botões. |
| SetCapture | Define a captura do mouse para a janela especificada pertencente 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. Apenas 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 pode 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 de tempo especificado. |
A função a seguir está obsoleta.
| Função | Descrição |
|---|---|
| mouse_event | Sintetiza o movimento do rato e os cliques nos botões. |
Notificações
| Designação | 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 meio 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_MBUTTONDOWN | Postado quando o usuário pressiona o botão do meio 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_MBUTTONUP | Postado quando o usuário libera o botão do meio 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_MOUSEACTIVATE | Enviado quando o cursor está em uma janela inativa e o usuário pressiona um botão do mouse. A janela pai recebe essa mensagem somente se a janela filho passá-la para a funçãoDefWindowProc. |
| WM_MOUSEHOVER | Postado em uma janela quando o cursor passa sobre a área do cliente da janela pelo período de tempo especificado em uma chamada anterior para TrackMouseEvent. |
| WM_MOUSEHWHEEL | Enviado para a janela de foco quando a roda de rolagem horizontal do mouse está inclinada ou girada. A funçãoDefWindowProcpropaga a mensagem para o pai da janela. Não deve haver encaminhamento interno da mensagem, porque DefWindowProc a propaga pela cadeia pai até encontrar uma janela que a processe. |
| WM_MOUSELEAVE | Postado em uma janela quando o cursor sai da á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, porque DefWindowProc a propaga pela cadeia pai até encontrar uma janela que a processe. |
| WM_NCHITTEST | Enviado para uma janela, a fim de determinar qual parte da janela corresponde a uma determinada coordenada de tela. 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 rato não for capturado, a mensagem é enviada para a janela por baixo do cursor. Caso contrário, a mensagem é 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 é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| 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 é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| 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 é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| 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 é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| 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 é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| 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 é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| WM_NCMOUSEHOVER | Postado em uma janela quando o cursor passa sobre a área não cliente da janela pelo período de tempo especificado em uma chamada anterior paraTrackMouseEvent. |
| WM_NCMOUSELEAVE | Postado em uma janela quando o cursor sai da á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 é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| 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 é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| 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 é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| 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 é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| WM_NCXBUTTONDBLCLK | Postado quando o usuário clica duas vezes em XBUTTON1 ou XBUTTON2 enquanto o cursor está na área não cliente de uma janela. Esta mensagem é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| WM_NCXBUTTONDOWN | Postado quando o usuário pressiona XBUTTON1 ou XBUTTON2 enquanto o cursor está na área não cliente de uma janela. Esta mensagem é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| WM_NCXBUTTONUP | Publicado quando o usuário libera XBUTTON1 ou XBUTTON2 enquanto o cursor está na área não cliente de uma janela. Esta mensagem é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada. |
| 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 | Publicado quando o usuário clica duas vezes em XBUTTON1 ou XBUTTON2 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 | Publicado quando o usuário pressiona XBUTTON1 ou XBUTTON2 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 | Publicado quando o usuário libera XBUTTON1 ou XBUTTON2 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
| Designação | 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 teclas, 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 | Usado pelo TrackMouseEvent função para rastrear quando o ponteiro do mouse sai de uma janela ou passa o mouse sobre uma janela por um período de tempo especificado. |