À propos des contrôles d’animation

Un contrôle d’animation est une fenêtre qui affiche un clip Audio-Video entrelacé (AVI). Un clip AVI est une série de frames bitmap tels qu’un film. Les contrôles d’animation peuvent uniquement afficher des clips AVI qui ne contiennent pas de données audio.

Une utilisation courante d’un contrôle d’animation consiste à indiquer l’activité du système au cours d’une opération de longue durée. Cela est possible, car le thread d’opération continue de s’exécuter pendant que le clip AVI est affiché. par exemple, la boîte de dialogue rechercher de Windows Explorer affiche une loupe mobile lorsque le système recherche un fichier.

Notes

Si vous utilisez ComCtl32.dll version 6, le thread n’est pas pris en charge ; Assurez-vous que votre application ne bloque pas l’interface utilisateur, sinon l’animation ne se produira pas.

Un contrôle d’animation peut afficher un clip AVI provenant d’un fichier AVI non compressé ou d’un fichier AVI compressé à l’aide de l’encodage d’exécution (BI _ RLE8). Vous pouvez ajouter le clip AVI à votre application en tant que ressource AVI, ou le clip peut accompagner votre application sous la forme d’un fichier AVI distinct.

Notes

Le fichier AVI, ou ressource, ne doit pas avoir de canal sonore. Les fonctionnalités du contrôle d’animation sont très limitées et peuvent faire l’objet de modifications. Si vous avez besoin d’un contrôle pour fournir des fonctionnalités de lecture et d’enregistrement multimédias pour votre application, vous pouvez utiliser le contrôle MCIWnd. Pour plus d’informations, consultez classe de fenêtre MCIWnd.

Cette section décrit les rubriques suivantes.

Création d’un contrôle d’animation

Un contrôle d’animation appartient à la classe de fenêtre animer la _ classe . Vous créez un contrôle d’animation à l’aide de la fonction CreateWindow ou CreateWindowEx ou de la macro Animate _ Create . La macro positionne le contrôle d’animation dans l’angle supérieur gauche de la fenêtre parente et, si le style de _ Centre ACS n’est pas spécifié, définit la largeur et la hauteur du contrôle en fonction des dimensions d’un cadre dans le clip avi. Si le _ Centre ACS est spécifié, l' animation _ créer affecte la valeur zéro à la largeur et à la hauteur du contrôle. Vous pouvez utiliser la fonction SetWindowPos pour définir la position et la taille du contrôle.

Si vous créez un contrôle d’animation dans une boîte de dialogue ou à partir d’une ressource de boîte de dialogue, le contrôle est détruit automatiquement lorsque l’utilisateur ferme la boîte de dialogue. Si vous créez un contrôle d’animation dans une fenêtre, vous devez détruire explicitement le contrôle.

À propos des messages de contrôle d’animation

Une application envoie des messages à un contrôle d’animation pour ouvrir, lire, arrêter et fermer le clip AVI correspondant. Chaque message comporte une ou plusieurs macros que vous pouvez utiliser au lieu d’envoyer le message explicitement.

Après la création d’un contrôle d’animation, une application envoie le message ACM _ Open pour ouvrir un clip AVI et le charger en mémoire. Le message spécifie le chemin d’accès d’un fichier AVI ou le nom d’une ressource AVI. Le système charge la ressource AVI à partir du module qui a créé le contrôle d’animation.

Si le contrôle d’animation a le style d' _ exécution automatique des services ACS, le contrôle commence la lecture du clip AVI immédiatement après l’ouverture du fichier AVI ou de la ressource avi. Dans le cas contraire, une application peut utiliser le message de _ lecture ACM pour démarrer le clip avi. Une application peut arrêter le clip à tout moment en envoyant le message d' _ arrêt ACM . La dernière image lue reste affichée lorsque le contrôle termine la lecture du clip AVI ou lorsque l' _ arrêt ACM est envoyé.

Un contrôle d’animation peut envoyer deux codes de notification à sa fenêtre parente : ACN _ Start et ACN _ Stop. La plupart des applications ne gèrent aucune notification.

Pour fermer le fichier AVI ou la ressource AVI et le supprimer de la mémoire, une application peut utiliser la macro Animate _ Close , qui envoie l' ACM _ Open avec le nom de fichier ou le nom de la ressource ayant la valeur null.

Traitement des messages par défaut

Cette section décrit les messages de fenêtre gérés par la procédure de fenêtre pour la classe de fenêtre animer la _ classe .

Message Traitement effectué
_Fermer WM Libère le fichier AVI ou la ressource AVI associée au contrôle animation.
_destructeur WM Libère le fichier AVI ou la ressource AVI, libère une structure de données interne, puis appelle la fonction DefWindowProc .
_ERASEBKGND WM Efface l’arrière-plan de la fenêtre à l’aide de la couleur d’arrière-plan actuelle pour les contrôles statiques.
_NCCREATE WM Alloue et Initialise une structure de données interne, puis appelle DefWindowProc.
_NCHITTEST WM Retourne la valeur du test de positionnement HTTRANSPARENT.
_peinture WM Dessine un frame AVI dans le contrôle d’animation.
taille du WM _ Vérifie si le contrôle a le style de _ Centre ACS . Si le contrôle ne le fait pas, il appelle DefWindowProc. Dans le cas contraire, il Centre l’animation dans le contrôle, invalide le contrôle, puis appelle DefWindowProc.