_Message QUERYSYSTEMGESTURESTATUS de tablette WM _

Envoyé lorsque le système demande à une fenêtre les gestes système qu’il souhaite recevoir.

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

Paramètres

wParam

Non utilisé.

lParam

Valeur de point qui représente les coordonnées d’écran.

Notes

En gérant ce message, vous pouvez désactiver dynamiquement les raccourcis pour les régions d’une fenêtre.

Notes

Le lParam peut être converti en coordonnées x et y à l’aide des GET_X_LPARAM GET_Y_LPARAM macros et.

Par défaut, votre fenêtre recevra tous les événements de mouvement système. Vous pouvez choisir les événements que vous souhaitez que votre fenêtre reçoit et les événements que vous souhaitez désactiver en répondant au message WM _ _ QUERYSYSTEMGESTURESTATUS dans votre WndProc. Le message _ WM _ QUERYSYSTEMGESTURESTATUS est défini dans tpcshrd. h. Les valeurs permettant d’activer et de désactiver les gestes système du Tablet système sont également définies dans tpcshrd. h comme suit :

#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

Notes

La désactivation de la fonction appuyer et maintenir permet d’améliorer la réactivité des clics de souris, car cette fonctionnalité crée un délai d’attente pour faire la distinction entre les deux opérations.

Soyez prudent lors du traitement du message WM _ _ QUERYSYSTEMGESTURESTATUS . WM _ La _ QUERYSYSTEMGESTURESTATUS de tablette est transmise à l’aide de la fonction SendMessageTimeout . Si vous appelez des méthodes sur une interface COM, cet objet doit être dans le même processus. Si ce n’est pas le cas, COM lève une exception.

Exemples

L’exemple suivant montre comment désactiver les raccourcis pour une région à l’aide de 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;
}        
        

L’exemple suivant montre comment désactiver différentes fonctionnalités de raccourcis pour une fenêtre entière.

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);
}        
        

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows [Applications de bureau Vista uniquement]
Serveur minimal pris en charge
Windows Serveur 2008 [ applications de bureau uniquement]
En-tête
Tpcshrd. h