学号:2010215210420题目基于MFC的Windows播放器学院计算机科学与技术学院专业计算机应用技术班级1004班姓名李俊清指导教师胡多勋2012年6月12日目录摘要...........................................................................................................................................................III1绪论...........................................................................................................................................................11.1MFC的概况简介..............................................................................................................................11.2MFC的特点.......................................................................................................................................12实验目的...................................................................................................................................................23实验步骤................................................................................................................................................34总体设计说明...........................................................................................................................................84.1模块框图............................................................................................................................................84.2重要的MFC类..................................................................................................................................85运行结果...................................................................................................................................................95.1初始界面............................................................................................................................................95.2播放界面............................................................................................................................................9结论...........................................................................................................................................................10参考文献.................................................................................................................................................10摘要MFC(微软基础类库,MicrosoftFoundationClasses),是一个由微软公司提供的类库,以C++类的形式封装了Windows的API,可提供一个应用程序的框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。本课程设计是基于MFC的简易的Windows音乐播放器。在课程设计中,系统开发平台为Windows7,程序设计语言采用VisualC++,程序运行平台为Windows2000以上。可实现音频视频的播放,界面简洁,操作容易,使用起来相当方便。关键词:MFCAPI播放器11绪论MFC(微软基础类库,MicrosoftFoundationClasses),是一个由微软公司提供的类库,以C++类的形式封装了Windows的API,可提供一个应用程序的框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。借助于MFC可实现多种应用程序的开发。1.1MFC的概况简介MFC应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。MFC提供了MFCAppWizard自动生成框架。Windows应用程序中,MFC的主包含文件为Afxwin.h。此外MFC的部分类为MFC/ATL通用,可以在Win32应用程序中单独包含并使用这些类。由于它的易用性,初学者常误认为VC++开发必须使用MFC。这种想法是错误的。作为ApplicationFramework,MFC的使用只能提高某些情况下的开发效率,只起到辅助作用,而不能替代整个Win32程序设计。1.2MFC的特点MFC,微软基础类(MicrosoftFoundationClasses),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinDOS下开发人员使用的专业C++SDK(SDK,StandardSoftWareDevelopKit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm,这跟Pascal和Delphi的关系一个道理,Pascal是Delphi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言),MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的..MFC是WinAPI与C++的结合,API,即微软提供的Windows下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第2三方(如我是一方,微软是二方,Borland就是第三方)的编程语言来进行对Windows下应用程序的开发,使这些被开发出来的应用程序能在Windows下运行,比如VB,VC++,JavaDelhpi编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在Windows的消息机制和绘图里,遵守Windows作为一个操作系统的内部实现,这其实也是一种必要,微软如果不提供API,这个世上对Windows编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C++封装,这种结合一方面让用户使用微软的专业C++SDK来进行Windows下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Windows下用C++&MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价(这是微软的一向作风),因此就造成了MFC对类封装中的一定程度的的冗余和迂回,但这是可以接受的。2实验目的设计一个基于MFC的简易的Windows播放器,实现简单的音频视频的播放功能。33实验步骤1.新建项目。1.利用AppWizard创建MFC(exe)创建SDI应用程序,项目文件名为MediaPlayer。2.在MFC应用程序向导-步骤1对话框中选择:单文档(S)选项,其余的采用默认选项。42.单击主菜单中Insert菜单,选择Resource菜单项,在弹出的InsertResource对话框的Resourcetype列表框中选择Dialog,然后单击右边的按钮新建(N),3.添加ActiveX控件。1.单击窗口左边的Workspace窗口中的ResourceView选项卡,2.打开Dialog文件夹,双击IDD_MediaPlayer,3.在右边出现的对话框的空白处按右键选择:插入ActiveX控件…,54.选择WindowsMediaPlayer。之后该向导会向程序中添加CWMPPlayer4类(假设用户安装了MicrosoftMediaPlayer4)。注意:路径为C:\WINDOWS\system32\wmp.dll4.为CMyPlayMediaView类添加如下成员:classCWMPPlayer4;…classCMyPlayMediaView:publicCView{protected://createfromserializationonlyCMyPlayMediaView();DECLARE_DYNCREATE(CMyPlayMediaView)//Attributespublic:CMyPlayMediaDoc*GetDocument();CWMPPlayer4*m_pPlayer;//播放器CStringm_strFile;//文件名BOOLm_bPaused;//记录暂停状态…}5.初始化播放器,修改构造函数和析构函数如下:CMyPlayMediaView::CMyPlayMediaView(){m_pPlayer=newCWMPPlayer4;m_bPaused=FALSE;}CMyPlayMediaView::~CMyPlayMediaView(){deletem_pPlayer;}66.创建播放器,为视图添加WM_CREATE消息的响应,实现如下:intCMyPlayMediaView::OnCreate(LPCREATESTRUC