用vc++做视频播放器

合集下载

VC下自制多媒体播放器毕业设计(word格式)

VC下自制多媒体播放器毕业设计(word格式)

自制多媒体播放器使用VC强大的AppWizard、ClassWizard和其中的各种控件可以方便地建立各种应用程序。

但是想要实现更高级更复杂的功能,就要借助丰富的ActiveX控件资源了。

这里就要使用VC++——ActiveMovieControl Object,来建立自己的多媒体播放器。

此多媒体具有一般的播放功能,能播放:*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat等文件,还有Repeat功能。

具体步骤:1.打开VC6.0,在Projects下选择MFC AppWizard(exe),并取名MediaPlayer,然后建立基于对话框的应用程序。

2.打开Resource View,选择其中的对话框,打开其中的主对话框,去掉对话框上的“确定”按钮,保留“取消”,将Caption改为“退出”。

然后再在上面加上九个按钮,ID和Caption分别为IDC_OPEN,打开;IDC_PLAY,播放;IDC_PAUSE,暂停;IDC_STOP,停止;IDC_CLOSE,关闭;IDC_LOWER,<<=;IDC_UPPER,=>>;IDC_FULLSCREEN,全屏;IDC_REPEAT,重复;再加入两个静态文本控件,分别为:IDC_STATIC,音量;IDC_STATIC2,状态:正常。

3.点击“开始”,出现“注册成功”的对话框后打开Projects->Add to Project->Components and Controls->Registered ActiveX Controls对话框,选择其中的ActiveMovieControl Object, Insert,OK之后,会发现控件面板上多了一项ActiveMovieControl Object,将它选中,直接放在对话框上。

按Ctrl+W打开ClassWizard为它添加变量m_ActiveMovie。

VC调用windows media player控件实现视频播放

VC调用windows media player控件实现视频播放

VC调用windows media player控件实现视频播放一新建MFC项目工程打开Microsoft Visual C++ 6.0(以下简称VC6.0),选择菜单File->New命令,弹出New窗口,在New窗口中单击Projects 标签,弹出选项卡,如图1所示,在下面选择工程类型MFC AppWizard(exe),然后在右边的编辑框Project name:中输入要新建MFC工程名称OpenVideo。

再点击下面的OK键,在弹出的对话框中选择Dialog based选项,点击下面的Finish,在弹出的窗口中单击OK。

这样我们就新建了一个MFC项目工程,其界面如图2所示。

图1 New对话框图2 MFC工程界面二添加Windows Media Player控件上面我们已经新建了一个MFC工程,这里先对Windows Media Player控件做一简单介绍,在介绍在VC6.0中如何添加Windows Media Player控件。

Windows Media Player控件的添加选择菜单Project->Add to Project中的Components and Controls命令,弹出如图3所示的Components and Controls Gallery对话框。

然后双击Choose a component to insert into your project:中的Registered ActiveX Controls,在该文件夹中选择Windows Media Player,如图4所示,单击Insert,在Insert this component?中选择“确定”,将弹出Confirm Classes窗口,在列表框中有CWMPPlayer4等各种类,单击OK将返回到Components and Controls Gallery界面。

最后单击“Close”返回VC++开发界面。

vc制作视频播放器汇总

vc制作视频播放器汇总

VC:制作视频播放器(ActiveX控件、工具栏、菜单栏、滑块、打开对话框))1、先把文件AMOVIE.OCX复制到某一目录下,例如D:\下,然后选择“开始”|“运行”命令,输入“regsvr32D:\AMOVIE.OCX”,单击“确定”按钮后,弹出对话框,显示注册成功。

2、利用类向导,创建一个基于对话框的应用程序,删除向导自动生成的确定、取消按钮。

选择Project?ADD。

添加ActiveMovie Control Object选项。

3、单击Insert按钮,关闭该对话框,ActiveMovie控件便出现在控件面板中,调整好控件在对话框中的位置。

4、添加菜单资源。

5、添加工具栏。

6、添加滑块控件,及变量。

系统实现:1、设置对话框的最小化,对话框属性对话框中选择Style标签。

2、添加工具栏。

在OnInitDialog()函数中:if (!m_toolbar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_BOTTOM|CBRS_TOOLTIPS ) ||!m_toolbar.LoadToolBar(IDR_TOOLBAR1)){TRACE0("Failed to create toolbar\n");return -1; // fail to create}RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST, 0);m_toolbar.SetBarStyle(m_toolbar.GetBarStyle()|CBRS_BOTTOM|CBRS_ SIZE_DYNAMIC|CBRS_SIZE_DYNAMIC);3、利用类向导,添加“WM_SIZE”的消息映射:void CVideoDlg::OnSize(UINT nType, int cx, int cy){CDialog::OnSize(nType, cx, cy);// TODO: Add your message handler code here//工具栏处在对话框的下端RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR _LAST,0);//为了使滑块控件也可以一直显示在对话框的最下端位置CRect rect;GetClientRect(rect);//得到客户端int top=rect.top;rect.top=rect.bottom-60;rect.bottom=rect.top+30;if (IsWindow(m_sliderctrl.GetSafeHwnd())){m_sliderctrl.MoveWindow(rect);//设置窗口大小}}4、下面对菜单进行控制,在对话框中的菜单资源是利用对话框属性在对话框中进行绑定的,这时的菜单资源仅仅是与对话框进行绑定。

基于VC的多媒体播放器的设计与开发

基于VC的多媒体播放器的设计与开发

基于VC的多媒体播放器的设计与开发在设计和开发基于VC的多媒体播放器时,有几个关键的方面需要考虑。

首先,我们需要确定播放器的功能和特性。

其次,我们需要设计用户界面,并开发与之相应的功能。

最后,我们需要确保播放器的性能和稳定性。

在功能和特性的确定方面,我们可以考虑以下几点:1. 支持多种多媒体文件格式:播放器应该能够支持常见的音频和视频文件格式,如MP3,MP4,AVI等。

2. 播放控制功能:播放器应该具备诸如播放,暂停,停止,快进,快退,循环播放,随机播放等基本的播放控制功能。

3. 音量调节功能:播放器应该提供音量增减的功能,使用户可以根据需要调整音量大小。

4. 播放列表功能:播放器应该允许用户创建和管理自己的播放列表,方便用户播放和组织自己的音频和视频文件。

在用户界面的设计方面,我们可以考虑以下几点:1. 主界面设计:主界面应该简洁明了,让用户能够直观地找到所需的功能按钮和控件。

2. 播放控制按钮:应该将常用的播放控制按钮(如播放,暂停,停止)放置在主界面上,方便用户随时进行操作。

3. 播放进度条:应该显示当前正在播放的媒体文件的播放进度,以便用户了解播放进度。

4. 音量控制按钮:应该提供对音量的调节按钮,让用户能够根据需要增加或减少音量大小。

在功能的开发方面,我们可以使用VC等开发工具来实现:1. 文件解码播放:使用合适的解码器来解码音频和视频文件,并通过音频驱动和显示驱动将其播放出来。

2. 播放控制:根据用户的操作,通过调用相关的API来实现播放,暂停,停止,快进,快退等操作。

3. 播放列表管理:通过读取用户的文件夹和文件,将其组织成播放列表,并实现相应的增加,删除和切换操作。

最后,在性能和稳定性方面,我们可以采取以下措施:1. 优化播放器的代码结构和算法,使其能够高效地解码和播放多媒体文件。

2. 对于文件解码过程中可能发生的异常和错误情况,进行适当的异常处理和错误提示,以确保播放器的稳定性和可靠性。

基于VC的多媒体播放器的设计与开发

基于VC的多媒体播放器的设计与开发

基于VC的多媒体播放器的设计与开发一、引言随着科技的不断进步和互联网的发展,计算机多媒体技术已经被广泛应用于日常生活中。

而多媒体播放器作为计算机多媒体技术的重要应用之一,早已成为人们生活娱乐的重要组成部分。

本文将介绍一种基于VC的多媒体播放器的设计与开发,主要包括系统的功能需求、体系结构设计、核心功能的实现等内容。

二、系统功能需求1. 基本的播放功能:支持常见的音视频文件格式,能够对音乐和视频进行播放、暂停、停止等操作。

2. 画面显示:提供清晰流畅的视频播放效果,支持全屏、窗口模式下的画面显示,能够根据用户需求进行画面大小的调整。

3. 音频输出:支持多种音频输出方式,如扬声器、耳机等,并能够根据用户需求进行音量的调整。

4. 播放控制:提供播放进度条、音量调节、快进快退等播放控制功能,方便用户对音视频进行控制和调节。

5. 播放列表管理:支持用户创建、导入和管理播放列表,方便用户组织和管理自己的音视频文件。

6. 其他功能:支持收藏、分类、搜索等附加功能,方便用户快速找到自己想要播放的音视频文件。

三、体系结构设计基于VC的多媒体播放器的体系结构设计如下:1. 前端界面设计:使用VC进行界面设计,根据用户需求设计简洁、直观的操作界面,使用户可以方便地进行各种操作。

2. 多媒体引擎:使用VC的多媒体编程接口进行音视频播放控制,实现音视频的解码、播放和控制功能。

3. 播放列表管理:设计数据库或文件系统来管理播放列表,实现播放文件的增删改查功能。

4. 用户交互功能:通过与用户的交互实现播放控制、搜索、收藏等功能,提升用户体验。

5. 后台管理功能:实现系统配置、播放规则设置等功能,方便管理员对系统进行管理和维护。

四、核心功能实现1. 多媒体文件格式支持:通过调用VC的多媒体编程接口,实现对常见音视频文件格式的解码和播放功能。

2. 视频播放效果优化:利用VC的图像处理功能实现视频的渲染,提供清晰、流畅的画面显示效果。

用VC++实现多媒体播放器

用VC++实现多媒体播放器

用VC++实现多媒体播放器摘要目前常见的多媒体软件应该讲各有特群,然而几乎每一具都存在着别如人意的地点。

我的课题是“基于VC++开辟工具的媒体播放器软件设计”,首先是初步介绍一些当前的媒体及媒体播放器,然后是详细介绍一具由本人设计的多媒体播放器———mediaplayer。

该播放器是基于MFC集成开辟环境,利用系统的MCI(media controller interface)命令接口来编程,具有体积小,支持的播放格式多、系统资源占用少、支持播放列表编辑、支持各种视频格式等功能优势。

关键词媒体播放器;MCI;播放列表;音频;视频AbstractThe common multimedia software should have their characteristics, but almost each one there is no satisfactory manner. My topic is "based on VC + + development tools for media player software design", the first is an introduction to some of the current media and media player, then the detailed design of a multimedia player himself - mediaplayer. The player is based on MFC integrated development enviroXXXent, using the system MCI (media controller interface) command interface to programming, is small,support multi-format playback, occupy less system resources to support the play list editing, support various video formats such as functional advantages.Keywordsmedia player; MCI; play list; audio; video名目一、引言1课题研究的目的和技术进展的现状1.1研究本课题的目的1.2技术应用的基本现状2论文完成的要紧工作3本课题中的重点二、媒体格式简介.1啥是WMF SDK2 WMF SDK体系结构2.1 生成器结构2.2 读取器结构3 WMF SDK编程开辟环境配置三、软件开辟与设计.1操作办法2具体步骤四、系统测试1测试目的2测试环境3测试办法3.1白盒法3.2黑盒法4测试结果五、结束语XXX基于VC++开辟工具的媒体播放器软件设计一、引言多媒体技术的概念和应用浮现于20世纪80年代初期,通过十余年的进展,随着计算机科学网络的普及和多媒体技术的进展,已成为计算机领域进展的热点技术,针对目前各种媒体格式,怎么简单方便的播放各类媒体已成为人们普遍关注的咨询题,而媒体播放器的开辟也变得十分重要。

基于VC开发工具的媒体播放器软件设计与开发

基于VC开发工具的媒体播放器软件设计与开发

内容摘要
3、创建OpenGL窗口创建一个OpenGL窗口是进行三维图形开发设计的前提。 可以使用GLUT(OpenGL Utility Toolkit)库来创建窗口,设置窗口的大小、 背景色等属性。
内容摘要
4、加载模型和纹理数据在进行三维图形开发设计中,需要加载模型和纹理数 据。可以使用Assimp库来加载各种格式的3D模型数据,而纹理数据则可以通过加 载图片文件的方式进行加载。
二、系统设计
1、数据源管理模块:针对不同的数据源,我们需要使用不同的数据库连接方 式。比如,对于MySQL数据库可以使用标准的JDBC连接方式;对于Oracle数据库 可以使用ODBC连接方式。同时,还需要提供数据导入功能,支持CSV、Excel等格 式的数据导入。
二、系统设计
2、数据预处理模块:该模块主要实现对原始数据的清洗、筛选、转换等功能。 可以使用C++、Python等语言编写算法,对数据进行处理。同时,为了提高数据 处理效率,还需要实现对数据的批量处理和多线程处理功能。
五、软件测试
3、性能测试:测试软件的性能表现,包括播放速度、内存占用、CPU占用等 指标。
五、软件测试
4、兼容性测试:测试软件在不同操作系统、不同硬件环境下的兼容性表现。
六、软件部署
六、软件部署
在软件部署阶段,需要为软件制定合适的发布渠道和售后服务策略。具体包 括以下几个方面:
六、软件部署
内容摘要
一、OpenGL概述 OpenGL是一种跨平台的图形应用程序编程接口(API),它 由近300个不同的函数组成,提供了丰富的图形渲染指令,可以帮助程序员在应 用程序中实现高质量的三维图形渲染。OpenGL的应用领域非常广泛,包括游戏、 影视、科学可视化、虚拟现实等等。

VC课程设计--多媒体播放器

VC课程设计--多媒体播放器

VC课程设计--多媒体播放器课程设计课程名称可视化编程(VC)学院计算机科学与技术学院专业软件工程班级1202姓名指导教师2013——2014学年第2学期目录1.设计题目及要求 (3)2.基本功能描述 (4)3.软件设计模块 (6)3.1文件的打开模块 (6)3.2文件的播放模块 (9)3.3文件的停止模块 (9)3.4全屏模块 (9)3.5快进、快退模块 (9)3.6换皮肤模块 (10)3.7音量调节模块 (12)3.8窗口隐藏模块 (12)3.9文件暂停模块 (12)4.运行结果 (13)5.设计过程中遇到的问题和感想 (15)6.参考文献 (16)一、设计题目及要求1.1设计题目基于MFC的多媒体播放器系统1.2题目要求1.制作一个具有自己设计风格的媒体播放器。

2.要求能随机选取要播放的文件,实现前进,回退,暂停,循环播放,音量大小调节等基本功能。

3.要求能播放多种格式(至少四种或四种以上)的音频视频格式文件。

4.可以实现其它附加功能(不在要求范围之内)5.界面良好,功能完善二、基本功能描述本次课程设计制作的多媒体播放器是利用Windows系统自带的Windows Media Player控件,可以分别通过按钮和菜单实现*.mp3、*.mid、*.avi、*wav等媒体文件的打开、播放、暂停、全屏、音量调节、快进、快退、关闭、循环播放等功能。

还通过更换位图的方式,实现了换皮肤功能。

1.打开文件:通过选择文件类型打开不同类型的文件,如果打开的格式不对,消息框会提醒打开正确的格式的文件。

再打开文件前,其他按键不能进行操作。

2.播放文件:开始播放文件。

3.停止播放:停止播放文件。

4.全屏:将播放器变为全屏。

5.快退、快进:实现快退、快进功能。

6.换皮肤:选择沙漠、可爱棒冰、灯塔、郁金香可以为播放器换不同的背景。

7.音量调节:可以实现调大,调小音量的功能。

三、软件设计模块3.1文件的打开模式在WavePlayDlg.h中设定一个int型的全局m_MediaType,通过选择不同的按钮来给m_MediaType赋不同的值,不同的值代表不同的文件格式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用vc++做视频播放器6.2.1 利用VC6.0的MFC AppWizard创建工程首先:注册该控件在windows“运行”里写入:regsvr32 msdrm.ocx 单击确定1.在VC++集成开发环境中,选择菜单File|New,弹出New对话框。

2.在Projects选项卡中选择MFC AppWizard(exe),并在Location项中输入“D:\Samples”。

3.在Project name中输入“ CTLY2412”,项中的内容自动设置为“D:\Samples\Player”。

4.按下OK按钮,在弹出的MFC AppWizard-Step-1对话框中选择Dialog based项,生成基于对话框的应用程序。

5.按下Finish按钮,在弹出的对话框中按下OK按钮,等待创建完相应的工程。

6.2.2 为对话框添加菜单1.在工作区中单击Resource View选项卡,展开Dialog资源组,双击IDD_PLAYER_DIALOG。

在右边的工作台中显示可以进行可视化编辑的IDD_PLAYER_DIALOG对话框,并打开一个控件工具窗口。

删除AppWizard在对话框中生成的控件,即一个OK按钮、一个Cancel 按钮和一个文本框。

鼠标右击Dialog资源组中的IDD_PLAYER_DIALOG条目,在弹出的菜单中选择Insert…选项。

这时,显示Insert Resource(增加资源)窗口,选择其中的Menu项,单击右边的New按钮。

这样,VC++6.0在资源文件Player.rc中增加了一项资源,即一个菜单。

双击ID号:IDR_MENU1,则在右边显示一个可编辑的菜单条,该菜单条的最右边是一个虚方框,表示最右边的一个菜单项。

双击虚方框,弹出Menu Item Properties(菜单项属性)对话框,在“C编辑”框中输入菜单标题:文件(&F),其中“&”的作用是使其后面的字符加上下划线,让用户可用键盘来选择菜单。

另外,“O弹出”检查框默认选中,表明新加的菜单可以有其弹出的子菜单。

在“文件”菜单下有一个虚方框,表示要新建的菜单项。

在“C标题”编辑框中输入:打开(&O),在ID编辑框中输入:ID_FILEOPEN(当“O弹出”检查框未选中时,必须输入ID)。

另外,可根据需要在“M提示”编辑框中输入一串字符,提示该菜单选项功能。

当光标停在该菜单选项上时,提示字符串显示在应用程序主窗口的状态条中。

类似步骤5)、6),按下表6-1内容,建立完整的菜单。

表6-1 媒体播放器的各菜单项属性顶层菜单项子菜单项ID号第 1 页用vc++做视频播放器文件(&F)打开(&O)ID_FILEOPEN关闭(&C)ID_FILECLOSE具有Separator样式的菜单分隔条退出(&X)ID_FILEEXIT播放(&P)开始(&S)ID_PLAYSTART暂停(&P)ID_PLAYPAUSE停止(&T)ID_PLAYSTOP视频(&V)原始大小(&O)ID_VIDEO1X原始大小的2倍(&D)ID_VIDEO2X音频(&A)调节音量(&V)ID_AUDEOVOLUME调节左右声道平衡(&B)ID_AUDEOBALANCE帮助(&H)关于播放器(&A)ID_HELPABOUT给新建的菜单连接一个类①将鼠标移至编辑状态的菜单上,单击右键,弹出快捷菜单,选择ClassWizard 命令。

在显示ClassWizard窗口的同时,弹出一个Adding a Class对话框,该对话框询问是增加一个新类,还是选择一个已经存在的类进行连接。

因为我们要连接的类是与Player应用程序相关联的对话框类CPlayerDlg,此类已经存在,所以选择第二项。

②单击Adding a Class对话框中的OK按钮,显示一个Select Class(选择类)对话框窗第 2 页用vc++做视频播放器口,在Class list列表中选择CPlayerDlg,单击Select按钮,确定所选项。

③单击“确定”按钮,关闭ClassWizard窗口。

现在,菜单ID_PLAYER_MENU已经和CPlayerDlg类连接起来了。

连接菜单和应用程序的主窗口①在工作区中单击Resource View选项卡,展开Dialog资源组,双击IDD_PLAYER_DIALOG。

在右边工作台中显示的IDD_PLAYER_DIALOG对话框的任何一个空白区域,单击鼠标右键,在弹出的菜单中选择Properties项,随后弹出Dialog Properties对话框。

②在Dialog Properties对话框中有一个“M菜单”选项。

单击“M菜单”组合框的箭头,在弹出的列表中选择IDR_MENU选择File|Save命令,保存所有工作。

现在,对已存在的程序进行编译、运行6.2.3在对话框中添加ActiveMovie控件在对话框中单击鼠标右键,选择Insert ActiveX Control命令。

在弹出的对话框中选择ActiveMovieControl Object,并按“确定”按钮。

为新添加的ActiveMovie控件确定ID号,为IDC_AMOVIE。

为IDC_AMOVIE映射一个成员变量在ActiveMovie控件上单击右键,在弹出菜单中选择ClassWizard,在弹出的MFC ClassWizard对话框中选择Member Variables选项卡,按下Add Variable按钮,弹出对话框。

在随后弹出对话框中,按下“OK”按钮,以确定新建类:CActiveMovie。

在弹出的AddMember Variable对话框中确定与IDC_AMOVIE相映射的成员变量:m_AMovie。

6.2.4 完成“文件”菜单的各子菜单功能以下的函数基本上是通过MFC的消息映射机制实现实现“打开”菜单功能①为“打开”菜单添加消息响应函数:OnFileopen()。

② OnFileopen()函数的代码如下:void CTLY2412Dlg::OnFileopen(){// TODO: Add your command handler code here//文件类型过滤第 3 页用vc++做视频播放器char szFileFilter[]="Mp3 File(*.mp3)|*.mp3|""Wma File(*.wma)|*.wma|""Video File(*.dat)|*.dat|""Wave File(*.wav)|*.wav|""AVI File(*.avi)|*.avi|""Movie File(*.mov)|*.mov|""Media File(*.mmm)|*.mmm|""Mid File(*.mid;*,rmi)|*.mid;*.rmi|""MPEG File(*.mpeg)|*.mpeg|""All File(*.*)|*.*||";CTLY2412Dlg dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter); if(dlg.DoModal()==IDOK){CString PathName=dlg.GetPathName();PathName.MakeUpper();m_AMovie.SetFileName(PathName);}}实现“关闭”菜单功能①为“关闭”菜单添加消息响应函数:OnFileclose()。

② OnFileclose()函数的代码如下:void CTLY2412Dlg::OnFileclose(){// TODO: Add your command handler code herem_AMovie.SetFileName("");}第 4 页用vc++做视频播放器实现“退出”菜单功能①为“退出”菜单添加消息响应函数:OnFileexit()。

② OnFileexit()函数的代码如下:void CTLY2412Dlg::OnFileexit(){// TODO: Add your command handler code hereOnCancel();}6.2.5 完成“播放”菜单的各子菜单功能1.实现“开始”菜单功能①为“开始”菜单添加消息响应函数:OnPlaystart()。

② OnPlaystart()函数的代码如下:void CTLY2412Dlg::OnPlaystart(){// TODO: Add your command handler code herem_AMovie.Run();SetTimer(0,20,NULL);//设置定时器}2.实现“暂停”菜单功能①为“暂停”菜单添加消息响应函数:OnPlaypause()。

② OnPlaypause()函数的代码如下:void CTLY2412Dlg::OnPlaypause(){// TODO: Add your command handler code herem_AMovie.Pause();}第 5 页用vc++做视频播放器3.实现“停止”菜单功能①为“停止”菜单添加消息响应函数:OnPlaystop()。

② OnPlaystop()函数的代码如下:void CTLY2412Dlg::OnPlaystop(){// TODO: Add your command handler code herem_AMovie.Stop();KillTimer(0);//关掉定时器}4.当 ActiveMovie 控件完成媒体文件的加载时自动播放该文件,代码如下:void CTLY2412Dlg::OnOpenCompleteAmovie(){m_AMovie.Run();}6.2.6 完成“视频”菜单的各子菜单功能1.实现“原始大小”菜单功能编写代码完善OnInitDialog(),完整代码如下:BOOL CTLY2412Dlg::OnInitDialog(){CDialog::OnInitDialog();SetIcon(m_hIcon, TRUE);SetIcon(m_hIcon, FALSE);// 设置 ActiveMovie 控件的初始文件为空m_AMovie.SetFileName("");// 改变窗口的大小以适应 ActiveMovie 控件的大小MoveMovieWindow();第 6 页用vc++做视频播放器return TRUE;}添加CTLY2412Dlg类的成员函数MoveMovieWindow(),实现改变对话框大小以适应ActiveMovie 控件的大小,其代码如下:void CTLY2412Dlg::MoveMovieWindow(){CRect rc1, rc2, rc3;// 得到 ActiveMovie 控件的大小m_AMovie.GetWindowRect(rc1);// 保证对话框客户区的宽不小于 300 像素,高不小于 225 像素if (rc1.Width()<300 || rc1.Height()<225){rc1.right=rc1.left+300;rc1.bottom=rc1.top+225;}// 获得对话框的大小GetWindowRect(rc2);// 获得对话框客户区的大小GetClientRect(rc3);// 改变对话框的大小以适应 ActiveMovie 控件的大小MoveWindow(rc2.left, rc2.top,rc2.Width()-rc3.Width()+rc1.Width(),rc2.Height()-rc3.Height()+rc1.Height());// 获得 ActiveMovie 控件的大小m_AMovie.GetWindowRect(rc1);GetClientRect(rc3);// 使 ActiveMovie 控件在对话框的客户区居中m_AMovie.MoveWindow((rc3.Width()-rc1.Width())/2,第 7 页用vc++做视频播放器(rc3.Height()-rc1.Height())/2, rc1.Width(), rc1.Height());}③为“原始大小”菜单添加消息响应函数:OnVideo1x()。

相关文档
最新文档