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.