WM_POINTERLEAVE mensagem
Enviado para uma janela quando um ponteiro sai do intervalo de deteção sobre a janela (pairar) ou quando um ponteiro se move para fora dos limites da janela.
Uma janela recebe esta mensagem através da sua função WindowProc.
! [Importante]
As aplicações de ambiente de trabalho devem estar cientes do DPI. Se seu aplicativo não reconhece DPI, as coordenadas de tela contidas em mensagens de ponteiro e estruturas relacionadas podem parecer imprecisas devido à virtualização de DPI. A virtualização de DPI fornece suporte de dimensionamento automático para aplicativos que não reconhecem DPI e estão ativos por padrão (os usuários podem desativá-lo). Para obter mais informações, consulte escrevendo High-DPI aplicativos Win32.
#define WM_POINTERLEAVE 0x024A
Parâmetros
-
wParam
-
Contém o identificador de ponteiro e informações adicionais. Use as macros a seguir para recuperar essas informações.
- GET_POINTERID_WPARAM(wParam): o identificador de ponteiro.
- IS_POINTER_INRANGE_WPARAM(wParam): indica se esta mensagem foi gerada por um ponteiro que não saiu do intervalo de deteção. Esse sinalizador não é definido quando o ponteiro sai do intervalo de deteção da janela.
- IS_POINTER_INCONTACT_WPARAM(wParam): um sinalizador que indica se esta mensagem foi gerada por um ponteiro que está em contacto. Este sinalizador não está definido para um ponteiro no intervalo de deteção (focalização).
-
lParam
-
Contém o local do ponto do ponteiro.
Observação
Como o ponteiro pode fazer contato com o dispositivo em uma área não trivial, essa localização do ponto pode ser uma simplificação de uma área de ponteiro mais complexa. Sempre que possível, um aplicativo deve usar as informações completas da área do ponteiro em vez da localização do ponto.
Use as macros a seguir para recuperar as coordenadas físicas da tela do ponto.
- GET_X_LPARAM(lParam): a coordenada x (ponto horizontal).
- GET_Y_LPARAM(lParam): a coordenada y (ponto vertical).
Valor de retorno
Se um aplicativo processar essa mensagem, ele deverá retornar zero.
Se o aplicativo não processar essa mensagem, ele deve chamar DefWindowProc.
Comentários
A notificação WM_POINTERLEAVE pode ser usada por uma janela para alterar o modo ou interromper qualquer feedback para o usuário enquanto o ponteiro está sobre a superfície da janela.
Essa notificação só é enviada para a janela que está recebendo entrada para o ponteiro. A tabela a seguir lista algumas das situações em que essa notificação é enviada.
Ação | Conjunto de bandeiras | Notificações enviadas para |
---|---|---|
Um ponteiro pairando cruza os limites da janela. | IS_POINTER_INRANGE_WPARAM | Janela fora de cujo limite o ponteiro se moveu. |
Um ponteiro sai do alcance de deteção. | N/A | Janela para a qual o ponteiro sai do intervalo de deteção. |
! [Importante]
Quando uma janela perde a captura de um ponteiro e recebe a notificação WM_POINTERCAPTURECHANGED, normalmente não receberá mais notificações. Por esse motivo, é importante que você não faça suposições com base em WM_POINTERDOWN/WM_POINTERUP ou notificações WM_POINTERENTER/WM_POINTERLEAVE uniformemente emparelhadas.
Se o contato for mantido com o digitalizador de entrada e o ponteiro se mover para fora da janela, WM_POINTERLEAVE não será gerado. WM_POINTERLEAVE é gerado somente quando um ponteiro pairando cruza os limites da janela ou o contato é encerrado.
WM_POINTERLEAVE é postado na fila de mensagens postadas se a entrada for originada de um dispositivo de mouse.
Requerimentos
Exigência | Valor |
---|---|
Cliente mínimo suportado |
Windows 8 [apenas aplicações de ambiente de trabalho] |
Servidor mínimo suportado |
Windows Server 2012 [apenas aplicações de ambiente de trabalho] |
Cabeçalho |
|