MFC 中的 Animation Control函数

首页 / MFC入门教程 / MFC 中的 Animation Control函数

动画控件是一个以AVI格式显示音频剪辑的窗口,AVI剪辑是一系列位图帧,例如电影,动画控件只能播放简单的AVI剪辑,并且不支持声音,它由 CAnimateCtrl 类表示。

以下是CAnimateCtrl类中的方法列表-

Sr.No.Methods & 描述
1

Close

关闭AVI剪辑。

2

Create

链接:https://www.learnfk.comhttps://www.learnfk.com/mfc/mfc-animation-control.html

来源:LearnFk无涯教程网

创建一个动画控件并将其附加到CAnimateCtrl对象。

3

CreateEx

创建具有指定Windows扩展样式的动画控件,并将其附加到CAnimateCtrl对象。

4

IsPlaying

指示音频视频交错(AVI)剪辑是否正在播放。

5

Open

从文件或资源中打开AVI剪辑并显示第一帧。

6

Play

播放AVI片段而没有声音。

7

Seek

显示AVI片段的选定单帧。

8

Stop

停止播放AVI剪辑。

这是动画控制的消息映射列表-

MessageMap entry描述
ACN_STARTON_ACN_START ( <id>, <memberFxn> )动画开始时,框架调用此函数。
ACN_STOPON_ACN_STOP ( <id>, <memberFxn> )动画停止时,框架将调用此函数。

让无涯教程看一个简单的动画控制示例。

步骤1 -创建一个新的基于MFC对话框的项目。

MFC dialog Project

步骤2 - 创建项目后,删除TODO线,然后单击"Toolbox"中的"Animation Control",然后绘制一个矩形,如以下快照所示。

MFC Animation Control

步骤3 - 要添加动画控件的控件变量,请右键单击并选择添加变量。

MFC Animation Demo

步骤4 - 输入变量名称和变量类型,即动画的CAnimateCtrl。

CAnimateCtrl Animation.

步骤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 - 编译并执行上述代码后,您将看到以下输出。

MFC CMFCAnimationDemo

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学架构 -〔李运华〕

技术管理实战36讲 -〔刘建国〕

编辑训练营 -〔总编室〕

研发效率破局之道 -〔葛俊〕

Vim 实用技巧必知必会 -〔吴咏炜〕

Spring编程常见错误50例 -〔傅健〕

零基础实战机器学习 -〔黄佳〕

Go进阶 · 分布式爬虫实战 -〔郑建勋〕

B端产品经理入门课 -〔董小圣〕

好记忆不如烂笔头。留下您的足迹吧 :)