之前寫了兩篇關於介紹Touch Input和Gesture的函式定義, 都太於戎長, 所以我將這些文章刪掉, 重新慢慢整理, 希望對有用到的人有幫助.
RegisterTouchWindow Function
目的
將一個視窗註冊成有觸控功能
語法
BOOL WINAPI RegisterTouchWindow(
__in HWND hWnd, __in ULONG ulFlags
);
參數
- hWnd [in]
-
傳入一個window handle(需要註冊有觸控功能), 通常為HWND的型態
- ulFlags [in]
- 傳入一個可修改的flag, 預設設定成0就好了
傳回值
如果註冊成功的話, 回傳值不為0; 如果註冊失敗, 回傳值為0. 要得到額外的錯誤資訊, 我們可以使用GetLastError函式來取得
註解
注意: RegisterTouchWindow 必須在每個需要用到觸控輸入(touch input)的視窗上作註冊, 也就是說如果有一隻應用程式具有多個視窗, 你必須要在每個需要觸控功能的視窗上作註冊. 當一個視窗不在需要觸控功能時, 呼叫 UnregisterTouchWindow來取消觸控輸入.
UnregisterTouchWindow Function
目地
將視窗註冊成不再有觸控功能
語法
BOOL WINAPI UnregisterTouchWindow(
__in HWND hWnd
);
參數
- hWnd [in]
- 傳入一個window handle(註冊不再有觸控功能), 通常為HWND的型態
傳回值
如果註冊成功的話, 回傳值不為0; 如果註冊失敗, 回傳值為0. 要得到額外的錯誤資訊, 我們可以使用GetLastError函式來取得
IsTouchWindow Function
目地
檢查一個指定的視窗是否有觸控功能
語法
BOOL WINAPI IsTouchWindow(
__in HWND hWnd,
__out_opt PULONG pulFlags
);
參數
- hWnd [in]
-
傳入一個window handle 通常為HWND的型態.
- pulFlags [out, optional]
- 回傳一個 flag(此flag為之前呼叫RegisterTouchWindow函式, 所傳入的flag)
傳回值
如果此視窗支援觸控功能為TRUE, 如果不支援觸控功能為FALSE.
參考資料:MSDN- Windows Touch Input