动画控件是一个以AVI格式显示音频剪辑的窗口,AVI剪辑是一系列位图帧,例如电影,动画控件只能播放简单的AVI剪辑,并且不支持声音,它由 CAnimateCtrl 类表示。
以下是CAnimateCtrl类中的方法列表-
Sr.No. | Methods & 描述 |
---|---|
1 | Close 关闭AVI剪辑。 |
2 | Create 创建一个动画控件并将其附加到CAnimateCtrl对象。 |
3 | CreateEx 创建具有指定Windows扩展样式的动画控件,并将其附加到CAnimateCtrl对象。 |
4 | IsPlaying 指示音频视频交错(AVI)剪辑是否正在播放。 |
5 | Open 从文件或资源中打开AVI剪辑并显示第一帧。 |
6 | Play 播放AVI片段而没有声音。 |
7 | Seek 显示AVI片段的选定单帧。 |
8 | Stop 停止播放AVI剪辑。 |
这是动画控制的消息映射列表-
Message | Map entry | 描述 |
---|---|---|
ACN_START | ON_ACN_START ( <id>, <memberFxn> ) | 动画开始时,框架调用此函数。 |
ACN_STOP | ON_ACN_STOP ( <id>, <memberFxn> ) | 动画停止时,框架将调用此函数。 |
让无涯教程看一个简单的动画控制示例。
步骤1 -创建一个新的基于MFC对话框的项目。
步骤2 - 创建项目后,删除TODO线,然后单击"Toolbox"中的"Animation Control",然后绘制一个矩形,如以下快照所示。
步骤3 - 要添加动画控件的控件变量,请右键单击并选择添加变量。
步骤4 - 输入变量名称和变量类型,即动画的CAnimateCtrl。
步骤5 - 使用"Properties"窗口,将"Border"值设置为False,将"Auto Play","Center"和Transparent值设置为True。
步骤6 - 在这里,在 res 文件夹中有* .avi文件,这是项目中使用的所有资源的默认文件夹。
步骤7 - 要启动动画,需要调用Open方法 CAnimateCtrl 类。在CMFCAnimationDemoDlg::OnInitDialog()中添加以下代码行
m_animationCtrl.Open(L"res\\copyfile.avi");
步骤8 - 这是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 }
步骤9 - 编译并执行上述代码后,您将看到以下输出。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)