Funzione CloseGestureInfoHandle (winuser.h)
Chiude le risorse associate a un handle di informazioni sui movimenti.
Sintassi
BOOL CloseGestureInfoHandle(
HGESTUREINFO hGestureInfo
);
Parametri
hGestureInfo
Handle di informazioni sul movimento.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni sull'errore estese, usare la funzione GetLastError .
Commenti
Se un'applicazione elabora un messaggio di WM_GESTURE , è responsabile della chiusura dell'handle tramite questa funzione. In caso contrario, potrebbero verificarsi perdite di memoria del processo.
Se il messaggio viene passato a DefWindowProc o viene inoltrato usando una delle classi PostMessage o SendMessage delle funzioni API, l'handle viene trasferito con il messaggio e non deve essere chiuso dall'applicazione.
Esempio
Il codice seguente mostra un gestore che chiude l'handle GESTUREINFO se il movimento è stato gestito.
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);
}
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winuser.h (include Windows.h) |
Libreria | User32.lib |
DLL | User32.dll |
Set di API | ext-ms-win-ntuser-misc-l1-2-0 (introdotto in Windows 8.1) |