共用方式為


WM_TOUCH訊息

當一或多個觸控點,例如手指或手寫筆,觸碰觸控式數位板表面時,通知視窗。

參數

wParam

低序字組包含與此訊息相關聯的觸控點數目。 高序字會保留供日後使用。

lParam

包含觸控輸入控制碼,可用於 呼叫 GetTouchInputInfo 以擷取與此訊息相關聯之觸控點的詳細資訊。

此控制碼只有在目前的進程內有效,而且不應該在SendMessagePostMessage呼叫中傳遞LPARAM以外的跨進程。

當應用程式不再需要此控制碼時,應用程式必須呼叫 CloseTouchInputHandle 以釋放與此控制碼相關聯的進程記憶體。 若無法這麼做,可能會導致應用程式記憶體流失。

請注意,此參數中的觸控輸入控制碼在訊息傳遞至 DefWindowProc之後不再有效。 DefWindowProc 將會關閉並使這個控制碼失效。

另請注意,此參數中的觸控輸入控制碼在使用 PostMessageSendMessage或其中一個變體轉送訊息之後不再有效。 這些函式將會關閉並使這個控制碼失效。

傳回值

如果應用程式處理此訊息,它應該會傳回零。

如果應用程式未處理訊息,則必須呼叫 DefWindowProc。 不這麼做會導致應用程式流失記憶體,因為觸控輸入控制碼未關閉,而且不會釋放相關聯的進程記憶體。

備註

WM_TOUCH 訊息不符合 WINDOWS 的 HTTRANSPARENT 區域。 如果視窗傳回 HTTRANSPARENT 以回應 WM_NCHITTEST 訊息,滑鼠訊息會移至父代, WM_TOUCH 訊息直接移至視窗。

範例

下列程式碼範例說明如何取得與此訊息相關聯的詳細觸控輸入資訊。

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

規格需求

需求
最低支援的用戶端
Windows 7 [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 R2 [僅限桌面應用程式]
標頭
Winuser.h (包括 Windows.h)

另請參閱

訊息

操作和慣性程式設計手冊

Windows Touch 輸入程式設計指南