WM _ 태블릿 _ QUERYSYSTEMGESTURESTATUS 메시지

시스템이 받으려는 시스템 제스처를 창에 요청할 때 전송 됩니다.

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

매개 변수

wParam

사용되지 않습니다.

lParam

화면 좌표를 나타내는 점 값입니다.

설명

이 메시지를 처리 하면 창의 영역에 대해 긋기를 동적으로 사용 하지 않도록 설정할 수 있습니다.

참고

및 매크로를 사용 하 여 lParam 을 x 좌표 및 y 좌표로 변환할 수 있습니다 GET_X_LPARAM GET_Y_LPARAM .

기본적으로 창에는 모든 시스템 제스처 이벤트가 수신 됩니다. 창에서 받을 이벤트와 WndProcWM _ 태블릿 _ QUERYSYSTEMGESTURESTATUS 메시지에 응답 하 여 사용 하지 않도록 설정할 이벤트를 선택할 수 있습니다. WM _ 태블릿 _ 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 _ 태블릿 _ QUERYSYSTEMGESTURESTATUS 메시지를 처리 하는 경우 주의 해야 합니다. WM _ 태블릿 _ QUERYSYSTEMGESTURESTATUS sendmessagetimeout 함수를 사용 하 여 전달 됩니다. COM 인터페이스에서 메서드를 호출 하는 경우 해당 개체는 동일한 프로세스 내에 있어야 합니다. 그렇지 않으면 COM에서 예외를 throw 합니다.

예제

다음 예제에서는 WM 태블릿 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