Funzione AnimateWindow (winuser.h)
Consente di produrre effetti speciali quando si visualizzano o si nascondono finestre. Esistono quattro tipi di animazione: roll, diapositiva, compressione o espansione e dissolvenza combinata alfa.
Sintassi
BOOL AnimateWindow(
[in] HWND hWnd,
[in] DWORD dwTime,
[in] DWORD dwFlags
);
Parametri
[in] hWnd
Tipo: HWND
Handle della finestra da animare. Il thread chiamante deve essere proprietario di questa finestra.
[in] dwTime
Tipo: DWORD
Tempo necessario per riprodurre l'animazione, in millisecondi. In genere, un'animazione richiede 200 millisecondi per la riproduzione.
[in] dwFlags
Tipo: DWORD
Tipo di animazione. Questo parametro può essere uno o più dei valori seguenti. Si noti che, per impostazione predefinita, questi flag diventano effettivi quando viene visualizzata una finestra. Per rendere effettivo quando si nasconde una finestra, usare AW_HIDE e un operatore OR logico con i flag appropriati.
Valore restituito
Tipo: BOOL
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. La funzione avrà esito negativo nelle situazioni seguenti:
- Se la finestra è già visibile e si sta tentando di visualizzare la finestra.
- Se la finestra è già nascosta e si sta tentando di nascondere la finestra.
- Se non è specificata alcuna direzione per l'animazione diapositiva o roll.
- Quando si tenta di animare una finestra figlio con AW_BLEND.
- Se il thread non è proprietario della finestra. Si noti che, in questo caso, AnimateWindow ha esito negativo, ma GetLastError restituisce ERROR_SUCCESS.
Commenti
Per visualizzare o nascondere una finestra senza effetti speciali, usare ShowWindow.
Quando si usa l'animazione diapositiva o roll, è necessario specificare la direzione. Può essere AW_HOR_POSITIVE, AW_HOR_NEGATIVE, AW_VER_POSITIVE o AW_VER_NEGATIVE.
È possibile combinare AW_HOR_POSITIVE o AW_HOR_NEGATIVE con AW_VER_POSITIVE o AW_VER_NEGATIVE per animare una finestra in diagonale.
Le procedure della finestra per la finestra e le relative finestre figlio devono gestire qualsiasi WM_PRINT o WM_PRINTCLIENT messaggi. Le finestre di dialogo, i controlli e i controlli comuni gestiscono già WM_PRINTCLIENT. La routine della finestra predefinita gestisce già WM_PRINT.
Se viene visualizzata una finestra figlio parzialmente ritagliata, quando viene animata avrà fori in cui viene ritagliata.
AnimateWindow supporta le finestre RTL.
Evitare di animare una finestra con un'ombreggiatura perché produce animazioni visivamente distrazioni e cretino.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [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-window-l1-1-0 (introdotto in Windows 8) |
Vedi anche
Informazioni concettuali
Altre risorse
Riferimento