The AnimateWindow function enables you to produce special effects when showing or hiding windows. There are four types of animation: roll, slide, collapse or expand, and alpha-blended fade.
Syntax
BOOL AnimateWindow( HWND hwnd, DWORD dwTime, DWORD dwFlags );
Parameters
hwnd [in] Handle to the window to animate. The calling thread must own this window. dwTime [in] Specifies how long it takes to play the animation, in milliseconds. Typically, an animation takes 200 milliseconds to play. dwFlags [in] Specifies the type of animation. This parameter can be one or more of the following values. Note that, by default, these flags take effect when showing a window. To take effect when hiding a window, use AW_HIDE and a logical OR operator with the appropriate flags. AW_SLIDEUses slide animation. By default, roll animation is used. This flag is ignored when used with AW_CENTER. AW_ACTIVATEActivates the window. Do not use this value with AW_HIDE. AW_BLENDUses a fade effect. This flag can be used only if hwnd is a top-level window. AW_HIDEHides the window. By default, the window is shown. AW_CENTERMakes the window appear to collapse inward if AW_HIDE is used or expand outward if the AW_HIDE is not used. The various direction flags have no effect. AW_HOR_POSITIVEAnimates the window from left to right. This flag can be used with roll or slide animation. It is ignored when used with AW_CENTER or AW_BLEND.AW_HOR_NEGATIVEAnimates the window from right to left. This flag can be used with roll or slide animation. It is ignored when used with AW_CENTER or AW_BLEND.AW_VER_POSITIVEAnimates the window from top to bottom. This flag can be used with roll or slide animation. It is ignored when used with AW_CENTER or AW_BLEND. AW_VER_NEGATIVEAnimates the window from bottom to top. This flag can be used with roll or slide animation. It is ignored when used with AW_CENTER or AW_BLEND.
AW_SLIDE
AW_ACTIVATE
AW_BLEND
AW_HIDE
AW_CENTER
AW_HOR_POSITIVE
AW_HOR_NEGATIVE
AW_VER_POSITIVE
AW_VER_NEGATIVE
Return Value
If the function succeeds, the return value is nonzero.If the function fails, the return value is zero. The function will fail in the following situations: If the window uses the window region. Windows XP: This does not cause the function to fail.If the window is already visible and you are trying to show the window.If the window is already hidden and you are trying to hide the window.If there is no direction specified for the slide or roll animation.When trying to animate a child window with AW_BLEND. If the thread does not own the window. Note that, in this case, AnimateWindow fails but GetLastError returns ERROR_SUCCESS.To get extended error information, call the GetLastError function.
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. The function will fail in the following situations:
To get extended error information, call the GetLastError function.
Remarks
To show or hide a window without special effects, use ShowWindow.When using slide or roll animation, you must specify the direction. It can be either AW_HOR_POSITIVE, AW_HOR_NEGATIVE, AW_VER_POSITIVE, or AW_VER_NEGATIVE. You can combine AW_HOR_POSITIVE or AW_HOR_NEGATIVE with AW_VER_POSITIVE or AW_VER_NEGATIVE to animate a window diagonally. The window procedures for the window and its child windows should handle any WM_PRINT or WM_PRINTCLIENT messages. Dialog boxes, controls, and common controls already handle WM_PRINTCLIENT. The default window procedure already handles WM_PRINT. If a child window is displayed partially clipped, when it is animated it will have holes where it is clipped. AnimateWindow supports RTL windows.Avoid animating a window that has a drop shadow because it produces visually distracting, jerky animations.
To show or hide a window without special effects, use ShowWindow.
When using slide or roll animation, you must specify the direction. It can be either AW_HOR_POSITIVE, AW_HOR_NEGATIVE, AW_VER_POSITIVE, or AW_VER_NEGATIVE.
You can combine AW_HOR_POSITIVE or AW_HOR_NEGATIVE with AW_VER_POSITIVE or AW_VER_NEGATIVE to animate a window diagonally.
The window procedures for the window and its child windows should handle any WM_PRINT or WM_PRINTCLIENT messages. Dialog boxes, controls, and common controls already handle WM_PRINTCLIENT. The default window procedure already handles WM_PRINT.
If a child window is displayed partially clipped, when it is animated it will have holes where it is clipped.
AnimateWindow supports RTL windows.
Avoid animating a window that has a drop shadow because it produces visually distracting, jerky animations.
Function Information
Minimum DLL Versionuser32.dllHeaderDeclared in Winuser.h, include Windows.hImport libraryUser32.libMinimum operating systems Windows 98, Windows 2000
See Also
Windows Overview, ShowWindow, WM_PRINT, WM_PRINTCLIENT