共用方式為


WM_TABLET_QUERYSYSTEMGESTURESTATUS訊息

當系統詢問視窗想要接收的系統手勢時傳送。

#define WM_TABLET_DEFBASE                    0x02C0
#define WM_TABLET_QUERYSYSTEMGESTURESTATUS   (WM_TABLET_DEFBASE + 12)       

參數

wParam

未使用。

lParam

表示螢幕座標的點值。

備註

藉由處理此訊息,您可以動態停用視窗區域的閃爍。

注意

lParam可以使用 和 GET_Y_LPARAM 宏轉換成 x 座標和 Y 座標 GET_X_LPARAM

 

根據預設,您的視窗將會收到所有系統手勢事件。 您可以選擇您希望視窗接收的事件,以及您想要停用的事件,方法是回應WndProc中的WM_TABLET_QUERYSYSTEMGESTURESTATUS訊息。 WM_TABLET_QUERYSYSTEMGESTURESTATUS訊息定義在 tpcshrd.h 中。 啟用和停用系統平板電腦系統手勢的值也會定義在 tpcshrd.h 中,如下所示:

#define TABLET_DISABLE_PRESSANDHOLD        0x00000001
#define TABLET_DISABLE_PENTAPFEEDBACK      0x00000008
#define TABLET_DISABLE_PENBARRELFEEDBACK   0x00000010
#define TABLET_DISABLE_TOUCHUIFORCEON      0x00000100
#define TABLET_DISABLE_TOUCHUIFORCEOFF     0x00000200
#define TABLET_DISABLE_TOUCHSWITCH         0x00008000
#define TABLET_DISABLE_FLICKS              0x00010000
#define TABLET_ENABLE_FLICKSONCONTEXT      0x00020000
#define TABLET_ENABLE_FLICKLEARNINGMODE    0x00040000
#define TABLET_DISABLE_SMOOTHSCROLLING     0x00080000
#define TABLET_DISABLE_FLICKFALLBACKKEYS   0x00100000
#define TABLET_ENABLE_MULTITOUCHDATA       0x01000000

注意

停用按住會改善滑鼠按一下的回應性,因為這項功能會建立等候時間來區別這兩項作業。

 

處理 WM_TABLET_QUERYSYSTEMGESTURESTATUS 訊息時請小心。 WM_TABLET_QUERYSYSTEMGESTURESTATUS 是使用 SendMessageTimeout 函式傳遞。 如果您在 COM 介面上呼叫方法,該物件必須位於相同的進程中。 如果沒有,COM 會擲回例外狀況。

範例

下列範例示範如何使用 WM_TABLET_QUERYSYSTEMGESTURESTATUS 來停用區域的筆動。

#include <windowsx.h>        

(...)        
        
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
    case WM_TABLET_QUERYSYSTEMGESTURESTATUS:
        int x = GET_X_LPARAM(lParam);
        int y = GET_Y_LPARAM(lParam);
        if (x < xThreashold && y < yThreshold){
            // no flicks in the region specified by the threashold
            return TABLET_DISABLE_FLICKS;
        }
        // flicks will happen otherwise
        return 0;
}        
        

下列範例示範如何停用整個視窗的各種閃爍功能。

const DWORD dwHwndTabletProperty = 
    TABLET_DISABLE_PRESSANDHOLD | // disables press and hold (right-click) gesture
    TABLET_DISABLE_PENTAPFEEDBACK | // disables UI feedback on pen up (waves)
    TABLET_DISABLE_PENBARRELFEEDBACK | // disables UI feedback on pen button down (circle)
    TABLET_DISABLE_FLICKS; // disables pen flicks (back, forward, drag down, drag up)
        
void SetTabletpenserviceProperties(HWND hWnd){
    ATOM atom = ::GlobalAddAtom(MICROSOFT_TABLETPENSERVICE_PROPERTY);    
    ::SetProp(hWnd, MICROSOFT_TABLETPENSERVICE_PROPERTY, reinterpret_cast<HANDLE>(dwHwndTabletProperty));
    ::GlobalDeleteAtom(atom);
}        
        

規格需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
標頭
Tpcshrd.h