目前,专门用于设计多媒体应用的软件很多。而VC6.0也提供了一种动画控件来实现简单多媒体动画文件的播放。我们创建一个基于对话框的工程,取名为player,具体步骤如下:
图1
用MFC AppWizard(exe)创建一个名为player的工程,单击OK,单选Dialog based。接下来连续点击Next三次,单击Finish,最后点击OK。C++就自动生成一个对话框。为使其具有自己的风格,可用Mouse点击上面已有的按钮(【确定】、【取消】和ToDo:在这里设置对话控制)加以选定后单击Mouse右键选择“Cut”使它们消失。然后使用Controls中的工具(1个控件框和1个动画控件、4个按钮)将对话框绘制成图1所示;控件属性如表所示;用Ctrl+W进入MFC ClassWizard后依照属性表编辑(如图2)。
动画控件的使用,请看下面的链接
http://www.qqgb.com/Program/VC/VCcontrol/Program_104570.html
在对话框类CplayDlg中添加一个Cstring类型的成员变量m_filename,再用Class Wizard为动画控件声明一个对象m_animate,具体程序如下所示:
图2
class CplayerDlg : public CDialog
{
//其他程序
public : CString m_filename;
CAnimateCtrl m_animate;
//其他程序
}
Edit Code分别为成员函数OnSelect( )、OnPlay( )、OnStop( )、OnOK( )添加代码:
Void CplayerDlg :: OnSelect( )
{
CFileDialog dlg(TRUE,NULL,NULL,
OFN_HIDEREADONLY|
OFN_OVERWRITEPROMPT,_T("Animation|*.AVI|"));
if(dlg.DoModal()==IDOK)
m_filename=dlg.GetPathName( );
Void CplayerDlg :: OnPlay( )
{
CFileStatus m_status;
if(!CFile::GetStatus(m_filename,m_status))
MessageBox("没有该文件,请选择文件",NULL,MB_OK);
Else
{
m_animate.Stop( );
m_animate.Close( );
m_animate.Open(m_filename);
m_animate.Play(0,-1,2);
}
}
Void CplayerDlg :: OnStop( )
{
m_animate.stop( );
}
Void CplayerDlg :: OnOK( )
{
m_animate.Stop( );
m_animate.close( );
CDialog::OnOK( );
}
该程序在Windows 2000 Professional + Microsoft Visual C++6.0 中编译通过。
id | caption | messages | add function |
idc_select | 选择文件 | bn_clicked | onselect |
idc_play | 播放文件 | bn_clicked | onplay |
idc_stop | 停止播放 | bn_clicked | onstop |
idok | 退出程序 | bn_clicked | onok |
idc_animate | |||
idc_static | 控制栏 |