WM_TOUCH mensaje
Notifica a la ventana cuando uno o varios puntos táctiles, como un dedo o un lápiz, toca una superficie digitalizador sensible al tacto.
Parámetros
-
wParam
-
La palabra de orden bajo contiene el número de puntos táctiles asociados a este mensaje. La palabra de orden superior está reservada para su uso futuro.
-
lParam
-
Contiene un identificador de entrada táctil que se puede usar en una llamada a GetTouchInputInfo para recuperar información detallada sobre los puntos táctiles asociados a este mensaje.
Este identificador solo es válido dentro del proceso actual y no debe pasarse entre procesos, excepto el LPARAM en una llamada SendMessage o PostMessage .
Cuando la aplicación ya no requiere este identificador, la aplicación debe llamar a CloseTouchInputHandle para liberar la memoria del proceso asociada a este identificador. Si no lo hace, se puede producir una pérdida de memoria de la aplicación.
Tenga en cuenta que el identificador de entrada táctil de este parámetro ya no es válido después de pasar el mensaje a DefWindowProc. DefWindowProc se cerrará e invalidará este identificador.
Tenga en cuenta también que el identificador de entrada táctil de este parámetro ya no es válido después de reenviar el mensaje mediante PostMessage, SendMessage o una de sus variantes. Estas funciones cerrarán e invalidarán este identificador.
Valor devuelto
Si una aplicación procesa este mensaje, debe devolver cero.
Si la aplicación no procesa el mensaje, debe llamar a DefWindowProc. Si no lo hace, la aplicación pierde memoria porque el controlador de entrada táctil no está cerrado y no se libera la memoria del proceso asociada.
Comentarios
WM_TOUCH mensajes no respetan las regiones HTTRANSPARENT de las ventanas. Si una ventana devuelve HTTRANSPARENT en respuesta a un mensaje de WM_NCHITTEST , los mensajes del mouse van al elemento primario y WM_TOUCH mensajes van directamente a la ventana.
Ejemplos
El código siguiente es un ejemplo de cómo obtener información detallada de entrada táctil asociada a este mensaje.
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 | Value |
---|---|
Cliente mínimo compatible |
Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Encabezado |
|