金桥科普  
设为首页 关于我们 邮箱登录
科普聚焦时代科技科普生活科学技术自然科学航空航天科技博览历史考古电脑IT
您现在的位置: 首页 >> 科普频道 >> 技巧实践 >> 文章详情
用VC制作AVI文件播放器(图)

种磊 中国电脑教育报 2001-11-06

  目前,专门用于设计多媒体应用的软件很多。而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)。

  在对话框类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 控制栏     



  发表评论 写信给编辑 关闭窗口
同栏目内容
· 让你的电脑启动画面绚起来 2007-09-12
· 小技巧帮大忙 极点五笔 2007-09-05
· 如何提高迅雷的下载速度? 2007-09-03
· Vista小技巧 消除红眼 2007-09-03
· 千千静听实用小功能 2007-08-29
· 四大妙招帮你成功的隐藏文件 2007-08-20
相关内容
近期主推
我国首架自主产权飞机完成
·我国首架自主产权飞机完成
·机器人版"千手观音"惊艳亮相
·西藏发现青藏高原最大冰川群
·中日: "月亮女神"携手"嫦娥"
·行星大碰撞砸死恐龙催生人类
·美研制会飞汽车定价9万美元
近期热门
科学家解开中子星爆发之谜
·科学家解开中子星爆发之谜
·英海域惊现大龙虾为普通龙虾5倍
·新物种金蛙体表有剧毒
·我国嫦娥工程计划测量月球
·精神病药物可治多种癌症
·视觉震撼:来自海底的精灵
近期焦点
美国发现极其罕见的白化银鲛(图)
·美国发现极其罕见的白化银鲛(图)
·美国展出罕见连体双胎双头龟
·波罗的海发现罕见短吻真海豚
·能帮你做大扫除的机器人[组图]
·法老墓3000年前坚果保存完好
·广西发现罕见溶洞钟乳石有30万年
金桥科普是一个公益性栏目,内容由作者提供或摘自互联网,其目的是向广大网民普及科学技术知识。如果您发现本网站转载或摘编了您拥有著作权的作品,请通知我们(电话:023-63659911),我们立即删除。
关于我们 | 网站地图 | 用户注册 | 广告客户 | 招聘信息 | 业务信息
Copyright@2006-2009 JQInfo.com,WONDER. All Rights Reserved
重庆科技咨询中心.重庆网得信息技术有限公司.版权所有
Email:webmaster@jqinfo.com
重庆数据通信局提供网络带宽. 渝ICP备05002327号