messaggio WM_TOUCH

Notifica alla finestra quando uno o più punti di tocco, ad esempio un dito o una penna, tocca una superficie di digitalizzazione sensibile al tocco.

Parametri

wParam

La parola a basso ordine contiene il numero di punti di tocco associati a questo messaggio. La parola ad ordine elevato è riservata per l'uso futuro.

lParam

Contiene un handle di input tocco che può essere usato in una chiamata a GetTouchInputInfo per recuperare informazioni dettagliate sui punti di tocco associati a questo messaggio.

Questo handle è valido solo all'interno del processo corrente e non deve essere passato tra processi tranne come LPARAM in una chiamata SendMessage o PostMessage.

Quando l'applicazione non richiede più questo handle, l'applicazione deve chiamare CloseTouchInputHandle per liberare la memoria del processo associata a questo handle. La mancata operazione può causare una perdita di memoria dell'applicazione.

Si noti che l'handle di input tocco in questo parametro non è più valido dopo che il messaggio è stato passato a DefWindowProc. DefWindowProc chiuderà e invaliderà questo handle.

Si noti anche che l'handle di input tocco in questo parametro non è più valido dopo che il messaggio è stato inoltrato usando PostMessage, SendMessage o una delle relative varianti. Queste funzioni chiuderanno e invalideranno questo handle.

Valore restituito

Se un'applicazione elabora questo messaggio, deve restituire zero.

Se l'applicazione non elabora il messaggio, deve chiamare DefWindowProc. In questo modo l'applicazione perde memoria perché l'handle di input tocco non è chiuso e la memoria del processo associata non viene liberata.

Commenti

WM_TOUCH messaggi non rispettano le aree HTTRANSPARENT delle finestre. Se una finestra restituisce HTTRANSPARENT in risposta a un messaggio WM_NCHITTEST , i messaggi del mouse passano all'elemento padre e WM_TOUCH messaggi passano direttamente alla finestra.

Esempio

Il codice seguente è un esempio di come ottenere informazioni dettagliate sull'input tocco associato a questo messaggio.

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

Requisiti

Requisito Valore
Client minimo supportato
Windows 7 [solo app desktop]
Server minimo supportato
Windows Server 2008 R2 [solo app desktop]
Intestazione
Winuser.h (include Windows.h)

Vedi anche

Messaggi

Guida alla programmazione di manipolazioni e inertia

Guida alla programmazione di Windows Touch Input