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