基于MFC的Media Player播放器的制作(3---功能实现)
| 版权声明:本文为博主原创文章,未经博主允许不得转载。
下面我们试试一下,按下退出Button退出播放器的功能:
首先,我们双击退出Button按钮,就会弹出下图的框:
上面的弄好之后我们就实现退出函数的功能: 这个代码写好之后,我们可以运行一下,在单击退出按钮,可以发现,按下之后我
们的播放器自动退出
下面我们在实现打开文件的功能,这个功能比较复杂,第一步我们首先双击打开文件按钮,在CPandaPlayerDlg.cpp中创建函
数OnOpenfile();创建过程同上。
可以看到函数;然后在函数内添加实现方法
实现代码:
在这个函数中有几个变量是全局变量要定义
在这些全部弄好之后,我们就可运行程序了;如下图所示:
下面在介绍一个关于播放的函数实现;这个实现要建立文件关联,因为在前面我介绍了play()函数是在CWMPControls类
中,因此要使用play()函数和CWMPControls类中的一些其他的函数,我们就要建立文件关联。
第一步:创建函数;方法同上
第二步:建立文件关联
1> 首先我们找到CWMPControls类的头文件wmpcontrols.h,在CPandaPlayerDlg.h中添加
#include "wmpcontrols.h"
2> 将头文件添加好了之后,我们在CPandaPlayerDlg.h的CPandaPlayerDlg类中创建CWMPControls的变量为:
CWMPControls m_MediaControl;
3> 创建好变量之后,我们在CPandaPlayerDlg.cpp文件中找到函数OnInitDialog(),在OnInitDialog()函数中创建文件
关联;
m_MediaControl=static_cast<CWMPControls>(m_ActiveMovie.GetControls());//文件关联
4> 文件关联全部弄好之后我们就可以,实现OnPlay()函数中的代码了;
实现了上面的所有步骤之后,我们运行就可以看到效果了;
因为在CWMPControls类中存在着,pause()和stop()函数,我们可以使用这两个函数实现暂停和播放
如下函数中实现代码:
代码实现:
运行效果:
上面是关于播放的一些函数,下面在介绍一下音量的控制,音量控制和播放一样,要建立文件关联,因为音量的控制在
CWMPSettings类中,我们同上的步骤一样建立类的关联,如图:
下面在实现相应的功能:
实现代码:
运行效果:
介绍到这里为止:
注意:
1. 如果要引入除开CWMPPlayer4类的其他的类库中的函数则必须建立文件关联,方法同上,文件关联在CWMPPlayer4
类中均有对应的实例化函数。在前面的《基于MFC的Media Player播放器控件的属性和方法》中已经全部介绍。根据自己的需
求去弄。但是在CWMPPlayer4中的方法则可以直接引用,通过建立的CWMPPlayer4 对象m_ActiveMovie直接调用就行。
2. 如果是追求完美的可以通过将界面的背景添加背景图片,方法如下(实现对话框里添加位图作为背景图):
首先工程文件夹下找到res文件夹,在里面增加BMP格式位图资源,之后在对话框里添加一个小图片,然后在对话框里添加
此图片控件,修改类型属性,选择位图ID即可添加图片了,最后在 CLotteryDlg::OnPaint()里的else之后括号里添加如下代码
就行:
// CDialog::OnPaint(); 设置对话框位图时要禁止调用此对话框 *
// 以下设置对话框的背景位图
CPaintDC dc(this);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1); //这个IDB_BITMAP1要自己添加
CBrush brush;
brush.CreatePatternBrush(&bitmap);
CBrush* pOldBrush = dc.SelectObject(&brush);
dc.Rectangle(,,,); // 这些参数可以调整图片添加位置和大小
dc.SelectObject(pOldBrush);
CDialog::OnPaint();
这里我没有实现背景,效果图就没有了,追求完美的可以试试。
附上我写好的运行截图:
最新文章
- spring源码分析之freemarker整合
- weui 搜索框
- 如何在网页中添加“QQ交流”
- 计算机网络(12)-----HTTP协议详解
- Html5的一些引擎使用感触
- OpenCV 2.4.10 Linux Qt Conifguration
- VMware系统运维(十九)部署虚拟化桌面 Horizon View 5.2 通过手持设备进行连接测试
- Materialized Views 物化视图 -基础篇
- [Testing] 測試理論電子文件
- Sphnix创建文档
- HTML&;CSS基础学习笔记1.8-预格式文本
- WIN7中组件服务中的DCOM配置找不到Microsoft Excel应用程序的解决办法
- HDU ACM 4578 Transformation-&;gt;段树-间隔的变化
- leetcode先刷_Maximum Subarray
- POJ 2479 Maximum sum 解题报告
- 树中的路径和 Sum of Distances in Tree
- (网页)sweetalert api 中文开发文档和手册,项目放弃alert
- PHP封装类 【 设置分页 】 !!! 可以直接引用 !!! 都有自己理解的注释,挺详细的,有搜到的朋友可以能帮到你们 【 新手一看练两遍就懂 】
- C# 后台获取前台交互判断
- Xtreme9.0 - Communities 强连通
热门文章
- Redis初阶
- 原生js事件绑定
- 属性选择器 [attribute^=value] [attribute~=value] [attribute|=value] [attribute*=value]
- luoguP1082 同余方程 题解(NOIP2012)(数论)
- Spring学习笔记(10)——方法注入
- [Java 教程 00] 计算机基础
- 【知识强化】第四章 网络层 4.8 移动IP
- setclock - 用系统时间来设置硬件时间
- linux c 链接详解1-多目标文件链接
- linux-tomcat-install