Mensagem WM_POINTERLEAVE
Enviado para uma janela quando um ponteiro deixa o intervalo de detecção sobre a janela (focalizar) ou quando um ponteiro se move para fora dos limites da janela.
Uma janela recebe essa mensagem por meio da função WindowProc.
! [Importante]
Os aplicativos da área de trabalho devem estar cientes do DPI. Se o aplicativo não estiver ciente do DPI, as coordenadas de tela contidas em mensagens de ponteiro e estruturas relacionadas poderão parecer imprecisas devido à virtualização de DPI. A virtualização de DPI fornece suporte de dimensionamento automático para aplicativos que não têm reconhecimento de DPI e estão ativos por padrão (os usuários podem desativá-lo). Para obter mais informações, consulte Escrevendo aplicativos Win32 de Alto DPI.
#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 do ponteiro.
- IS_POINTER_INRANGE_WPARAM(wParam): indica se essa mensagem foi gerada por um ponteiro que não deixou o intervalo de detecção. Esse sinalizador não é definido quando o ponteiro sai do intervalo de detecção da janela.
- IS_POINTER_INCONTACT_WPARAM(wParam): um sinalizador que indica se essa mensagem foi gerada por um ponteiro que está em contato. Esse sinalizador não está definido para um ponteiro no intervalo de detecção (focalizar).
-
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, esse local de 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 do local do ponto.
Use as macros a seguir para recuperar as coordenadas de tela física do ponto.
- GET_X_LPARAM(lParam): a coordenada x (ponto horizontal).
- GET_Y_LPARAM(lParam): a coordenada y (ponto vertical).
Retornar valor
Se um aplicativo processar essa mensagem, ela deverá retornar zero.
Se o aplicativo não processar essa mensagem, ele deverá chamar DefWindowProc.
Comentários
A notificação WM_POINTERLEAVE pode ser usada por uma janela para alterar o modo ou interromper qualquer comentário 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 sinalizadores | Notificações enviadas para |
---|---|---|
Um ponteiro de foco cruza os limites da janela. | IS_POINTER_INRANGE_WPARAM | Janela fora de cujo limite o ponteiro se moveu. |
Um ponteiro sai do intervalo de detecção. | N/D | Janela para a qual o ponteiro deixa o intervalo de detecção. |
! [Importante]
Quando uma janela perde a captura de um ponteiro e recebe a notificação WM_POINTERCAPTURECHANGED , ela normalmente não receberá mais notificações. Por esse motivo, é importante que você não faça suposições com base em WM_POINTERDOWN/pares uniformemente WM_POINTERUP ou WM_POINTERENTER/ notificaçõesde WM_POINTERLEAVE.
Se o contato for mantido com o digitalizador de entrada e o ponteiro for movido para fora da janela, WM_POINTERLEAVE não será gerado. WM_POINTERLEAVE é gerado somente quando um ponteiro de foco cruza os limites da janela ou o contato é encerrado.
WM_POINTERLEAVE será postado na fila de mensagens postada se a entrada for originada de um dispositivo de mouse.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2012 [somente aplicativos da área de trabalho] |
Cabeçalho |
|