AnimateWindow, fonction (winuser.h)

Vous permet de produire des effets spéciaux lors de l’affichage ou du masquage de fenêtres. Il existe quatre types d’animation : rouler, glisser, réduire ou développer, et fondu en alpha-fondu.

Syntaxe

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

Paramètres

[in] hWnd

Type : HWND

Handle de la fenêtre à animer. Le thread appelant doit posséder cette fenêtre.

[in] dwTime

Type : DWORD

Temps nécessaire pour lire l’animation, en millisecondes. En règle générale, la lecture d’une animation prend 200 millisecondes.

[in] dwFlags

Type : DWORD

Type d’animation. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes. Notez que, par défaut, ces indicateurs prennent effet lors de l’affichage d’une fenêtre. Pour prendre effet lors du masquage d’une fenêtre, utilisez AW_HIDE et un opérateur OU logique avec les indicateurs appropriés.

Valeur Signification
AW_ACTIVATE
0x00020000
Active la fenêtre. N’utilisez pas cette valeur avec AW_HIDE.
AW_BLEND
0x00080000
Utilise un effet de fondu. Cet indicateur peut être utilisé uniquement si hwnd est une fenêtre de niveau supérieur.
AW_CENTER
0x00000010
Fait apparaître la fenêtre se réduire vers l’intérieur si AW_HIDE est utilisé ou se développer vers l’extérieur si le AW_HIDE n’est pas utilisé. Les différents indicateurs de direction n’ont aucun effet.
AW_HIDE
0x00010000
Masque la fenêtre. Par défaut, la fenêtre s’affiche.
AW_HOR_POSITIVE
0x00000001
Anime la fenêtre de gauche à droite. Cet indicateur peut être utilisé avec l’animation de rouleau ou de diapositive. Il est ignoré lorsqu’il est utilisé avec AW_CENTER ou AW_BLEND.
AW_HOR_NEGATIVE
0x00000002
Anime la fenêtre de droite à gauche. Cet indicateur peut être utilisé avec l’animation de rouleau ou de diapositive. Il est ignoré lorsqu’il est utilisé avec AW_CENTER ou AW_BLEND.
AW_SLIDE
0x00040000
Utilise l’animation de diapositive. Par défaut, l’animation de rouleau est utilisée. Cet indicateur est ignoré lorsqu’il est utilisé avec AW_CENTER.
AW_VER_POSITIVE
0x00000004
Anime la fenêtre de haut en bas. Cet indicateur peut être utilisé avec l’animation de rouleau ou de diapositive. Il est ignoré lorsqu’il est utilisé avec AW_CENTER ou AW_BLEND.
AW_VER_NEGATIVE
0x00000008
Anime la fenêtre de bas en haut. Cet indicateur peut être utilisé avec l’animation de rouleau ou de diapositive. Il est ignoré lorsqu’il est utilisé avec AW_CENTER ou AW_BLEND.

Valeur retournée

Type : BOOL

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. La fonction échoue dans les situations suivantes :

  • Si la fenêtre est déjà visible et que vous essayez d’afficher la fenêtre.
  • Si la fenêtre est déjà masquée et que vous essayez de la masquer.
  • Si aucune direction n’est spécifiée pour l’animation de diapositive ou de rouleau.
  • Lorsque vous essayez d’animer une fenêtre enfant avec AW_BLEND.
  • Si le thread n’est pas propriétaire de la fenêtre. Notez que, dans ce cas, AnimateWindow échoue, mais GetLastError retourne ERROR_SUCCESS.
Pour obtenir des informations détaillées sur l’erreur, appelez la fonction GetLastError.

Remarques

Pour afficher ou masquer une fenêtre sans effets spéciaux, utilisez ShowWindow.

Lorsque vous utilisez une animation de diapositive ou de rouleau, vous devez spécifier la direction. Il peut s’agir de AW_HOR_POSITIVE, de AW_HOR_NEGATIVE, de AW_VER_POSITIVE ou de AW_VER_NEGATIVE.

Vous pouvez combiner AW_HOR_POSITIVE ou AW_HOR_NEGATIVE avec AW_VER_POSITIVE ou AW_VER_NEGATIVE pour animer une fenêtre en diagonale.

Les procédures de fenêtre pour la fenêtre et ses fenêtres enfants doivent gérer les messages WM_PRINT ou WM_PRINTCLIENT . Les boîtes de dialogue, les contrôles et les contrôles courants gèrent déjà WM_PRINTCLIENT. La procédure de fenêtre par défaut gère déjà WM_PRINT.

Si une fenêtre enfant est affichée partiellement clippée, lorsqu’elle est animée, elle a des trous où elle est clippée.

AnimateWindow prend en charge les fenêtres RTL.

Évitez d’animer une fenêtre qui a une ombre portée, car elle produit des animations visuellement distrayantes et saccadé.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll
Ensemble d’API ext-ms-win-ntuser-window-l1-1-0 (introduit dans Windows 8)

Voir aussi

Conceptuel

Autres ressources

Référence

ShowWindow

WM_PRINT

WM_PRINTCLIENT

Windows