WM_TOUCH message
Avertit la fenêtre lorsqu’un ou plusieurs points tactiles, tels qu’un doigt ou un stylet, touchent une surface du numériseur tactile.
Paramètres
-
wParam
-
Le mot d’ordre inférieur contient le nombre de points tactiles associés à ce message. Le mot d’ordre supérieur est réservé pour une utilisation ultérieure.
-
lParam
-
Contient un handle d’entrée tactile qui peut être utilisé dans un appel à GetTouchInputInfo pour récupérer des informations détaillées sur les points tactiles associés à ce message.
Ce handle est valide uniquement dans le processus actuel et ne doit pas être passé entre processus, sauf en tant que LPARAM dans un appel SendMessage ou PostMessage .
Lorsque l’application n’a plus besoin de ce handle, l’application doit appeler CloseTouchInputHandle pour libérer la mémoire de processus associée à ce handle. Si vous ne le faites pas, vous pouvez entraîner une fuite de mémoire de l’application.
Notez que le handle d’entrée tactile dans ce paramètre n’est plus valide une fois le message passé à DefWindowProc. DefWindowProc ferme et invalide ce handle.
Notez également que le handle d’entrée tactile dans ce paramètre n’est plus valide une fois le message transféré à l’aide de PostMessage, SendMessage ou l’une de leurs variantes. Ces fonctions ferment et invalident ce handle.
Valeur retournée
Si une application traite ce message, elle doit retourner zéro.
Si l’application ne traite pas le message, elle doit appeler DefWindowProc. Si vous ne le faites pas, l’application fuit la mémoire, car le handle d’entrée tactile n’est pas fermé et la mémoire de processus associée n’est pas libérée.
Notes
WM_TOUCH messages ne respectent pas les régions HTTRANSPARENT des fenêtres. Si une fenêtre retourne HTTRANSPARENT en réponse à un message WM_NCHITTEST , les messages de souris sont envoyés au parent et WM_TOUCH messages sont directement dans la fenêtre.
Exemples
Le code suivant montre comment obtenir des informations détaillées sur les entrées tactiles associées à ce message.
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);
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2008 R2 [applications de bureau uniquement] |
En-tête |
|