Compartir a través de


Función AnimateWindow (winuser.h)

Permite producir efectos especiales al mostrar u ocultar ventanas. Hay cuatro tipos de animación: roll, slide, collapse o expand, and alpha-blended fade.

Sintaxis

BOOL AnimateWindow(
  [in] HWND  hWnd,
  [in] DWORD dwTime,
  [in] DWORD dwFlags
);

Parámetros

[in] hWnd

Tipo: HWND

Identificador de la ventana que se va a animar. El subproceso que llama debe poseer esta ventana.

[in] dwTime

Tipo: DWORD

El tiempo necesario para reproducir la animación, en milisegundos. Normalmente, una animación tarda 200 milisegundos en reproducirse.

[in] dwFlags

Tipo: DWORD

Tipo de animación. Este parámetro puede ser uno o más de los siguientes valores. Tenga en cuenta que, de forma predeterminada, estas marcas surten efecto al mostrar una ventana. Para surtir efecto al ocultar una ventana, use AW_HIDE y un operador OR lógico con las marcas adecuadas.

Value Significado
AW_ACTIVATE
0x00020000
Activa la ventana. No use este valor con AW_HIDE.
AW_BLEND
0x00080000
Usa un efecto de atenuación. Esta marca solo se puede usar si hwnd es una ventana de nivel superior.
AW_CENTER
0x00000010
Hace que la ventana parezca contraerse hacia adentro si se usa AW_HIDE o se expande hacia afuera si no se usa el AW_HIDE . Las distintas marcas de dirección no tienen ningún efecto.
AW_HIDE
0x00010000
Oculta la ventana. De forma predeterminada, se muestra la ventana.
AW_HOR_POSITIVE
0x00000001
Anima la ventana de izquierda a derecha. Esta marca se puede usar con animación de tirada o diapositiva. Se omite cuando se usa con AW_CENTER o AW_BLEND.
AW_HOR_NEGATIVE
0x00000002
Anima la ventana de derecha a izquierda. Esta marca se puede usar con animación de tirada o diapositiva. Se omite cuando se usa con AW_CENTER o AW_BLEND.
AW_SLIDE
0x00040000
Usa animación de diapositivas. De forma predeterminada, se usa la animación de lanzamiento. Esta marca se omite cuando se usa con AW_CENTER.
AW_VER_POSITIVE
0x00000004
Anima la ventana de arriba abajo. Esta marca se puede usar con animación de tirada o diapositiva. Se omite cuando se usa con AW_CENTER o AW_BLEND.
AW_VER_NEGATIVE
0x00000008
Anima la ventana de abajo a arriba. Esta marca se puede usar con animación de tirada o diapositiva. Se omite cuando se usa con AW_CENTER o AW_BLEND.

Valor devuelto

Tipo: BOOL

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Se producirá un error en la función en las situaciones siguientes:

  • Si la ventana ya está visible y está intentando mostrar la ventana.
  • Si la ventana ya está oculta y está intentando ocultar la ventana.
  • Si no hay ninguna dirección especificada para la animación de diapositiva o lanzamiento.
  • Al intentar animar una ventana secundaria con AW_BLEND.
  • Si el subproceso no posee la ventana. Tenga en cuenta que, en este caso, Se produce un error en AnimateWindow, pero GetLastError devuelve ERROR_SUCCESS.
Para obtener información ampliada de los errores, llame a la función GetLastError.

Comentarios

Para mostrar u ocultar una ventana sin efectos especiales, use ShowWindow.

Al usar la animación de diapositivas o rodar, debe especificar la dirección. Puede ser AW_HOR_POSITIVE, AW_HOR_NEGATIVE, AW_VER_POSITIVE o AW_VER_NEGATIVE.

Puede combinar AW_HOR_POSITIVE o AW_HOR_NEGATIVE con AW_VER_POSITIVE o AW_VER_NEGATIVE para animar una ventana en diagonal.

Los procedimientos de ventana de la ventana y sus ventanas secundarias deben controlar los mensajes WM_PRINT o WM_PRINTCLIENT . Los cuadros de diálogo, los controles y los controles comunes ya controlan WM_PRINTCLIENT. El procedimiento de ventana predeterminado ya controla WM_PRINT.

Si se muestra una ventana secundaria parcialmente recortada, cuando se anima tendrá agujeros donde se recorta.

AnimateWindow admite ventanas RTL.

Evite animar una ventana que tenga una sombra paralela porque genera animaciones visualmente distraídas y jerarquidas.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluya Windows.h)
Library User32.lib
Archivo DLL User32.dll
Conjunto de API ext-ms-win-ntuser-window-l1-1-0 (introducido en Windows 8)

Consulte también

Conceptual

Otros recursos

Referencia

ShowWindow

WM_PRINT

WM_PRINTCLIENT

Windows