MFC - Contrôle d'animation

Un contrôle d'animation est une fenêtre qui affiche un clip audio au format AVI. Un clip AVI est une série d'images bitmap, comme un film. Les commandes d'animation ne peuvent lire que des clips AVI simples et ne prennent pas en charge le son. Il est représenté par leCAnimateCtrl classe.

Voici la liste des méthodes de la classe CAnimateCtrl -

N ° Sr. Méthodes et description
1

Close

Ferme le clip AVI.

2

Create

Crée un contrôle d'animation et l'attache à un objet CAnimateCtrl.

3

CreateEx

Crée un contrôle d'animation avec les styles étendus Windows spécifiés et l'attache à un objet CAnimateCtrl.

4

IsPlaying

Indique si un clip audio-vidéo entrelacé (AVI) est en cours de lecture.

5

Open

Ouvre un clip AVI à partir d'un fichier ou d'une ressource et affiche la première image.

6

Play

Lit le clip AVI sans son.

sept

Seek

Affiche une seule image sélectionnée du clip AVI.

8

Stop

Arrête la lecture du clip AVI.

Voici la liste des mappages de messages pour le contrôle d'animation -

Message Entrée de carte La description
ACN_START ON_ACN_START (<id>, <memberFxn>) Le framework appelle cette fonction membre lorsqu'une animation est en cours de démarrage.
ACN_STOP ON_ACN_STOP (<id>, <memberFxn>) Le framework appelle cette fonction membre lorsqu'une animation s'arrête.

Examinons un exemple simple de contrôle d'animation.

Step 1 - Créez un nouveau projet basé sur une boîte de dialogue MFC.

Step 2 - Une fois le projet créé, supprimez la ligne TODO et cliquez sur Animation Control dans Toolbox et dessinez un rectangle comme indiqué dans l'instantané suivant.

Step 3 - Pour ajouter une variable de contrôle pour le contrôle d'animation, cliquez avec le bouton droit de la souris et sélectionnez Ajouter une variable.

Step 4 - Entrez le nom de la variable et le type de variable, qui est CAnimateCtrl pour l'animation.

Step 5 - À l'aide de la fenêtre Propriétés, définissez la valeur de la bordure sur False, définissez la lecture automatique, le centre et les valeurs transparentes sur True.

Step 6 - Ici, nous avons le fichier * .avi dans res dossier, qui est le dossier par défaut pour toutes les ressources utilisées dans le projet.

Step 7 - Pour démarrer l'animation, nous devons appeler la méthode Open CAnimateCtrlclasse. Ajoutez la ligne de code suivante dans CMFCAnimationDemoDlg :: OnInitDialog ()

m_animationCtrl.Open(L"res\\copyfile.avi");

Step 8 - Voici l'implémentation complète de CMFCAnimationDemoDlg :: OnInitDialog ()

BOOL CMFCAnimationDemoDlg::OnInitDialog(){
   CDialogEx::OnInitDialog();
	
   // Add "About..." menu item to system menu.
	
   // IDM_ABOUTBOX must be in the system command range.
   ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
   ASSERT(IDM_ABOUTBOX < 0xF000);
	
   CMenu* pSysMenu = GetSystemMenu(FALSE);
   if (pSysMenu != NULL){
      BOOL bNameValid;
      CString strAboutMenu;
      bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
      ASSERT(bNameValid);
      if (!strAboutMenu.IsEmpty()){
         pSysMenu -> AppendMenu(MF_SEPARATOR);
         pSysMenu -> AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
      }
   }
	
   // Set the icon for this dialog. The framework does this automatically
   // when the application's main window is not a dialog
   SetIcon(m_hIcon, TRUE);        // Set big icon
   SetIcon(m_hIcon, FALSE);       // Set small icon
	
   // TODO: Add extra initialization here
   m_animationCtrl.Open(L"res\\copyfile.avi");
	
   return TRUE; // return TRUE unless you set the focus to a control
}

Step 9 - Lorsque le code ci-dessus est compilé et exécuté, vous verrez la sortie suivante.