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
Winuser.h (inclua Windows.h)

Confira também

Mensagens

Guia de programação de manipulações e inércia

Guia de programação de entrada do Windows Touch