Partager via


Fonction CloseGestureInfoHandle (winuser.h)

Ferme les ressources associées à un handle d’informations de mouvement.

Syntaxe

BOOL CloseGestureInfoHandle(
  HGESTUREINFO hGestureInfo
);

Paramètres

hGestureInfo

Handle d’informations de mouvement.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, utilisez la fonction GetLastError .

Remarques

Si une application traite un message WM_GESTURE , elle est responsable de la fermeture du handle à l’aide de cette fonction. Si vous ne le faites pas, vous risquez d’entraîner des fuites de mémoire de processus.

Si le message est passé à DefWindowProc ou est transféré à l’aide de l’une des classes PostMessage ou SendMessage des fonctions d’API, le handle est transféré avec le message et n’a pas besoin d’être fermé par l’application.

Exemples

Le code suivant montre un gestionnaire qui ferme le handle GESTUREINFO si le mouvement a été géré.

  LRESULT DecodeGesture(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
    // Create a structure to populate and retrieve the extra message info.
    GESTUREINFO gi;  
    
    ZeroMemory(&gi, sizeof(GESTUREINFO));
    
    gi.cbSize = sizeof(GESTUREINFO);

    BOOL bResult  = GetGestureInfo((HGESTUREINFO)lParam, &gi);
    BOOL bHandled = FALSE;

    if (bResult){
        // now interpret the gesture
        switch (gi.dwID){
           case GID_ZOOM:
               // Code for zooming goes here     
               bHandled = TRUE;
               break;
           case GID_PAN:
               // Code for panning goes here
               bHandled = TRUE;
               break;
           case GID_ROTATE:
               // Code for rotation goes here
               bHandled = TRUE;
               break;
           case GID_TWOFINGERTAP:
               // Code for two-finger tap goes here
               bHandled = TRUE;
               break;
           case GID_PRESSANDTAP:
               // Code for roll over goes here
               bHandled = TRUE;
               break;
           default:
               // A gesture was not recognized
               break;
        }
    }else{
        DWORD dwErr = GetLastError();
        if (dwErr > 0){
            //MessageBoxW(hWnd, L"Error!", L"Could not retrieve a GESTUREINFO structure.", MB_OK);
        }
    }
    if (bHandled){
        return 0;
    }else{
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
  }

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll
Ensemble d’API ext-ms-win-ntuser-misc-l1-2-0 (introduit dans Windows 8.1)

Voir aussi

Fonctions

Guide de programmation pour les mouvements