WM_TOUCH mensagem
Notifica a janela quando um ou mais pontos de toque, como um dedo ou caneta, toca uma superfície de digitalizador sensível ao toque.
Parâmetros
-
wParam
-
A palavra de baixa ordem contém o número de pontos de toque associados a essa mensagem. A palavra de alta ordem é reservada para uso futuro.
-
lParam
-
Contém um identificador de entrada por toque que pode ser usado em uma chamada para GetTouchInputInfo para recuperar informações detalhadas sobre os pontos de toque associados a essa mensagem.
Esse identificador é válido somente dentro do processo atual e não deve ser passado entre processos, exceto como o LPARAM em uma chamada SendMessage ou PostMessage .
Quando o aplicativo não exigir mais esse identificador, o aplicativo deverá chamar CloseTouchInputHandle para liberar a memória do processo associada a esse identificador. Falha ao fazer isso pode resultar em um vazamento de memória do aplicativo.
Observe que o identificador de entrada por toque nesse parâmetro não é mais válido depois que a mensagem é passada para DefWindowProc. DefWindowProc fechará e invalidará esse identificador.
Observe também que o identificador de entrada por toque nesse parâmetro não é mais válido depois que a mensagem é encaminhada usando PostMessage, SendMessage ou uma de suas variantes. Essas funções fecharão e invalidarão esse identificador.
Valor retornado
Se um aplicativo processar essa mensagem, ele deverá retornar zero.
Se o aplicativo não processar a mensagem, ele deverá chamar DefWindowProc. Não fazer isso faz com que o aplicativo vaze memória porque o identificador de entrada por toque não está fechado e a memória do processo associada não é liberada.
Comentários
WM_TOUCH mensagens não respeitam as regiões HTTRANSPARENT das janelas. Se uma janela retornar HTTRANSPARENT em resposta a uma mensagem WM_NCHITTEST , as mensagens do mouse vão para o pai e WM_TOUCH mensagens vão diretamente para a janela.
Exemplos
O código a seguir é um exemplo de como obter informações detalhadas de entrada por toque associadas a essa mensagem.
UINT cInputs = LOWORD(wParam);
PTOUCHINPUT pInputs = new TOUCHINPUT[cInputs];
if (NULL != pInputs)
{
if (GetTouchInputInfo((HTOUCHINPUT)lParam,
cInputs,
pInputs,
sizeof(TOUCHINPUT)))
{
// process pInputs
if (!CloseTouchInputHandle((HTOUCHINPUT)lParam))
{
// error handling
}
}
else
{
// GetLastError() and error handling
}
delete [] pInputs;
}
else
{
// error handling, presumably out of memory
}
return DefWindowProc(hWnd, message, wParam, lParam);
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Cabeçalho |
|