Partager via


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

Voir aussi

Messages

Guide de programmation des manipulations et de l’inertie

Guide de programmation d’entrée Windows Touch