本文章出自: MSDN- WM_GESTURE Message
WM_GESTURE Message
目的
傳送手勢訊息
參數
- wParam
- lParam
- 提供手勢資訊的handle, 可以利用GetGestureInfo 函式來取得相關的資料(包含手勢的類型, 參數, 作用點...等)
回傳值
如果程式可以處理WM_GESTURE的訊息, 回傳值為0.
假使程式不能處理此訊息, 你必須呼叫 DefWindowProc來處理系統內定的訊息. 如果不那麼作的話, 可能會導致記憶體遺漏(Memory Leak), 因為touch unout handle將沒有被關掉, 因此Process中開啟的touch input handle記憶體也沒被釋放.
Remarks
下面表格列出Window Touch SDK支援的手勢:
Gesture ID | Value (dwID) | Description |
---|---|---|
GID_BEGIN | 1 | 一個手勢開始發生 |
GID_END | 2 | 一個手勢結束 |
GID_ZOOM | 3 | 放大, 縮小或縮放動作開始. 第一個GID_ZOOM訊息表示ZOOM開始, 但是還不會造成任何ZOOM的動作, 當程式收到第二個GID_ZOOM訊息時, 才會去觸發(trigger) ZOOM. |
GID_PAN | 4 | 平移或平移動作開始. 第一個GID_PAN訊息表示PAN開始, 但是還不會造成任何PAN的動作, 當程式收到第二個GID_PAN訊息時, 才會去觸發PAN. |
GID_ROTATE | 5 | 旋轉或旋轉動作開始. 第一個GID_ROTATE訊息表示ROTATE開始, 但是還不會造成任何ROTATE的動作, 當程式收到第二個GID_ROTATE訊息時, 才會去trigger ROTATE. |
GID_TWOFINGERTAP | 6 | 兩手指敲碰(tap)觸控螢幕 |
GID_PRESSANDTAP | 7 | 第一根手指按壓(press)在觸控螢幕上, 另一根手指作tap |
下面的表格標示出手勢的參數(gesture arguments)
Gesture ID | Gesture | ullArgument | ptsLocation |
---|---|---|---|
GID_ZOOM | Zoom In/Out | 兩個觸控點之間的距離 | 兩個觸控點的中心 |
GID_PAN | Pan | 兩個觸控點之間的距離 | Pan手勢目前的作用點 |
GID_ROTATE | Rotate (pivot) | 假如GF_BEGIN的旗標被設定, ullArgument表示旋轉角度(初始的角度為絕對角度), 如果為其他旗標 , ullArgument表示相對的角度(目前的角度 - 初始角度), 其角度的值會有正負號, 代表的式旋轉方向你可以使用GID_ROTATE_ANGLE_FROM_ARGUMENT 和GID_ROTATE_ANGLE_TO_ARGUMENT 來取得角度的值 | 為旋轉中心點(即固定不動的點) |
GID_TWOFINGERTAP | Two-finger Tap | 兩個觸控點之間的距離 | 兩根手指之間的中心點. |
GID_PRESS_AND_TAP | Press and Tap | 兩根手指之間的距離 | 第一根手指按壓在觸控螢幕上的接觸點 |
沒有留言:
張貼留言