AnimateWindow-Funktion (winuser.h)
Ermöglicht das Erzeugen von Spezialeffekten beim Ein- oder Ausblenden von Fenstern. Es gibt vier Arten von Animationen: Rollen, Folie, Reduzieren oder Erweitern und Alpha-blended Fade.
Syntax
BOOL AnimateWindow(
[in] HWND hWnd,
[in] DWORD dwTime,
[in] DWORD dwFlags
);
Parameter
[in] hWnd
Typ: HWND
Ein Handle für das zu animierende Fenster. Der aufrufende Thread muss dieses Fenster besitzen.
[in] dwTime
Art: DWORD
Die Zeit, die zum Wiedergeben der Animation in Millisekunden benötigt wird. In der Regel dauert die Wiedergabe einer Animation 200 Millisekunden.
[in] dwFlags
Art: DWORD
Der Typ der Animation. Dieser Parameter kann einen oder mehrere der folgenden Werte aufweisen. Beachten Sie, dass diese Flags standardmäßig wirksam werden, wenn ein Fenster angezeigt wird. Um beim Ausblenden eines Fensters wirksam zu werden, verwenden Sie AW_HIDE und einen logischen OR-Operator mit den entsprechenden Flags.
Rückgabewert
Typ: BOOL
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Die Funktion schlägt in den folgenden Situationen fehl:
- Wenn das Fenster bereits sichtbar ist und Sie versuchen, das Fenster anzuzeigen.
- Wenn das Fenster bereits ausgeblendet ist und Sie versuchen, das Fenster auszublenden.
- Wenn für die Folien- oder Rollanimation keine Richtung angegeben ist.
- Beim Versuch, ein untergeordnetes Fenster mit AW_BLEND zu animieren.
- Wenn der Thread nicht im Besitz des Fensters ist. Beachten Sie, dass in diesem Fall AnimateWindow fehlschlägt, getLastError jedoch ERROR_SUCCESS zurückgibt.
Hinweise
Verwenden Sie ShowWindow, um ein Fenster ohne Sondereffekte ein- oder auszublenden.
Wenn Sie Folien- oder Rollanimation verwenden, müssen Sie die Richtung angeben. Es kann entweder AW_HOR_POSITIVE, AW_HOR_NEGATIVE, AW_VER_POSITIVE oder AW_VER_NEGATIVE sein.
Sie können AW_HOR_POSITIVE oder AW_HOR_NEGATIVE mit AW_VER_POSITIVE oder AW_VER_NEGATIVE kombinieren, um ein Fenster diagonal zu animieren.
Die Fensterprozeduren für das Fenster und die untergeordneten Fenster sollten alle WM_PRINT oder WM_PRINTCLIENT Nachrichten verarbeiten. Dialogfelder, Steuerelemente und gängige Steuerelemente behandeln bereits WM_PRINTCLIENT. Die Standardfensterprozedur verarbeitet bereits WM_PRINT.
Wenn ein untergeordnetes Fenster teilweise abgeschnitten angezeigt wird, weist es beim Animieren Löcher auf, an denen es abgeschnitten wird.
AnimateWindow unterstützt RTL-Fenster.
Vermeiden Sie das Animieren eines Fensters mit einem Schlagschatten, da es visuell ablenkende, ruckartige Animationen erzeugt.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winuser.h (einschließlich Windows.h) |
Bibliothek | User32.lib |
DLL | User32.dll |
APIs | ext-ms-win-ntuser-window-l1-1-0 (eingeführt in Windows 8) |
Siehe auch
Konzept
Andere Ressourcen
Referenz