WM _ TOUCH-Nachricht

Benachrichtigt das Fenster, wenn ein oder mehrere Berührungspunkte, z. B. ein Finger oder Stift, eine berührungsempfindliche Digitizeroberfläche berühren.

Parameter

wParam

Das Wort in niedriger Reihenfolge enthält die Anzahl von Berührungspunkten, die dieser Nachricht zugeordnet sind. Das obere Wort ist für die zukünftige Verwendung reserviert.

lParam

Enthält ein Toucheingabehand handle, das in einem Aufruf von GetTouchInputInfo verwendet werden kann, um ausführliche Informationen zu den Touchpunkten abzurufen, die dieser Nachricht zugeordnet sind.

Dieses Handle ist nur innerhalb des aktuellen Prozesses gültig und sollte nur als LPARAM in einem SendMessage- oder PostMessage-Aufruf prozessübergreifend übergeben werden.

Wenn die Anwendung dieses Handle nicht mehr benötigt, muss die Anwendung CloseTouchInputHandle aufrufen, um den diesem Handle zugeordneten Prozessspeicher frei zu geben. Andernicht kann dies zu einem Speicherverlust der Anwendung führen.

Beachten Sie, dass das Toucheingabehand handle in diesem Parameter nicht mehr gültig ist, nachdem die Nachricht an DefWindowProc übergeben wurde. DefWindowProc schließt dieses Handle und macht es ungültig.

Beachten Sie auch, dass das Toucheingabehand handle in diesem Parameter nicht mehr gültig ist, nachdem die Nachricht mitHilfe von PostMessage, SendMessage oder einer ihrer Varianten weitergeleitet wurde. Diese Funktionen schließen dieses Handle und machen es ungültig.

Rückgabewert

Wenn eine Anwendung diese Nachricht verarbeitet, sollte sie 0 (null) zurückgeben.

Wenn die Anwendung die Nachricht nicht verarbeiten kann, muss sie DefWindowProc aufrufen. Wenn dies nicht erfolgt, gibt die Anwendung Arbeitsspeicher frei, da das Toucheingabehand handle nicht geschlossen und der zugeordnete Prozessspeicher nicht frei wird.

Hinweise

WM _ TOUCH-Nachrichten achten nicht auf HTTRANSPARENT-Fensterregionen. Wenn ein Fenster HTTRANSPARENT als Antwort auf eine WM _ NCHITTEST-Nachricht zurückgibt, werden Mausnachrichten an das übergeordnete Element gesendet, und WM _ TOUCH-Nachrichten werden direkt an das Fenster gesendet.

Beispiele

Der folgende Code ist ein Beispiel für das Abrufen detaillierter Toucheingabeinformationen, die dieser Nachricht zugeordnet sind.

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);

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 7 [ Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server 2008 [ R2-Desktop-Apps]
Header
Winuser.h (include Windows.h)

Siehe auch

Meldungen

Programmierhandbuch zu Manipulationen und Trägheit

Windows Programmierhandbuch für Toucheingaben