MFC - Control de animación

Un control de animación es una ventana que muestra un clip de audio en formato AVI. Un clip AVI es una serie de fotogramas de mapa de bits, como una película. Los controles de animación solo pueden reproducir clips AVI simples y no admiten sonido. Está representado por elCAnimateCtrl clase.

A continuación se muestra la lista de métodos en la clase CAnimateCtrl:

No Señor. Métodos y descripción
1

Close

Cierra el clip AVI.

2

Create

Crea un control de animación y lo adjunta a un objeto CAnimateCtrl.

3

CreateEx

Crea un control de animación con los estilos extendidos de Windows especificados y lo adjunta a un objeto CAnimateCtrl.

4

IsPlaying

Indica si se está reproduciendo un clip de audio y vídeo intercalado (AVI).

5

Open

Abre un clip AVI de un archivo o recurso y muestra el primer fotograma.

6

Play

Reproduce el clip AVI sin sonido.

7

Seek

Muestra un único fotograma seleccionado del clip AVI.

8

Stop

Detiene la reproducción del clip AVI.

Aquí está la lista de mapeo de mensajes para el control de la animación:

Mensaje Entrada de mapa Descripción
ACN_START ON_ACN_START (<id>, <memberFxn>) El marco llama a esta función miembro cuando se inicia una animación.
ACN_STOP ON_ACN_STOP (<id>, <memberFxn>) El marco llama a esta función miembro cuando se detiene una animación.

Veamos un ejemplo simple de control de animación.

Step 1 - Cree un nuevo proyecto basado en diálogo MFC.

Step 2 - Una vez creado el proyecto, elimine la línea TODO y haga clic en Control de animación en Toolbox y dibuje un rectángulo como se muestra en la siguiente instantánea.

Step 3 - Para agregar una variable de control para el control de la animación, haga clic con el botón derecho y seleccione Agregar variable.

Step 4 - Ingrese el nombre de la variable y el tipo de variable, que es CAnimateCtrl para la animación.

Step 5 - Usando la ventana Propiedades, establezca el valor del Borde en Falso, Establezca la Reproducción automática, el Centro y los valores transparentes en Verdadero.

Step 6 - Aquí tenemos el archivo * .avi en res carpeta, que es la carpeta predeterminada para los recursos utilizados en el proyecto.

Step 7 - Para iniciar la animación, necesitamos llamar al método Open CAnimateCtrlclase. Agregue la siguiente línea de código en CMFCAnimationDemoDlg :: OnInitDialog ()

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

Step 8 - Aquí está la implementación completa 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 - Cuando se compile y ejecute el código anterior, verá el siguiente resultado.