WM_TOUCH Message
目的
通知視窗當有一個或多個觸控點(例如手指頭或觸控筆)作用在觸控螢幕上
參數
- wParam
- 包含觸控點的數目
- lParam
- 包含一個觸控輸入的handle, 可以呼叫GetTouchInputInfo來取得更詳細的資料.
- 注意: 當應用程式不再需要此handle時, 必須呼叫CloseTouchInputHandle去釋放這個handle的記憶體, 如果不這麼做的話, 可能會造成memory leak.
傳回值
如果此應用程式能處理此訊息,回傳為0. 如果不能處理此訊息, 必須呼叫 DefWindowProc. 不那麼作的話, 可能造成記憶體遺失(memory leak) , 因為touch input handle 沒被關掉.
GetTouchInputInfo Function
目的
取得觸控輸入的詳細資訊
語法
BOOL WINAPI GetTouchInputInfo(
__in HTOUCHINPUT hTouchInput,
__in UINT cInputs,
__out PTOUCHINPUT pInputs,
__in int cbSize
);
參數
- hTouchInput [in]
- 傳入一個觸控輸入的handle(可以從觸控訊息的 LPARAM取得)
- cInputs [in]
-
傳入觸控輸入資料結構的數目(可以從觸控訊息WPARAM取得); 此數目會等於觸控點的數目.
- pInputs [out]
-
取得TOUCHINPUT的指標(TOUCHINPUT* ti)
- cbSize [in]
-
一個TOUCHINPUT structure的大小, 可寫成sizeof(TOUCHINPUT)
傳回值
如果此函式可以取得參數, 回傳值不為0. 如果失敗, 則返回0
註解
使用CloseTouchInputHandle將不能釋放TOUCHINPUT指標的記憶體, 必須要自行delete此memory, 如下所示:
CloseTouchInputHandle((HTOUCHINPUT)lParam);
delete [] ti;
參考資料: MSDN - Windows Touch Input
沒有留言:
張貼留言