- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC++程序设计实验报告
专业:11级医药软件开发 班级: 2班 学号:
姓名: 刘名奎 日期: 2014-4-17 成绩:
实验目的
掌握MFC编程
实验内容
用MFC向导创建基本对话框,添加相关组件,制作简单的音乐播放器,实现浏览歌曲文件,播放,暂停,停止,退出软件等功能。
详细步骤:
第一步:打开VC++6.0,创建MFC AppWizard(exe)工程,写上工程名称,单击“确定”。
第二步:选择“基本对话框”,单击“完成”后“确定”,建立一个默认的对话框,将上面不必要的组件删除。
第三步:建立一个如图所示的对话框,修改相关组件的属性。
相关组件的ID如下:
音乐名编辑框:IDC_filename
“浏览”按钮:IDC_filechoice
“播放”按钮:IDC_play
“暂停”按钮:IDC_pause
“停止”按钮:IDC_stop
音量编辑框:IDC_vol
音量滑块:IDC_ SLIDER
“版本说明”按钮:IDC_about
“退出软件”按钮:IDC_exitbt
其他组件的ID默认即可。
注意:还有些样式及扩展样式可适当修改,以增加美观,在此就不一一叙述。
第四步:按Ctrl+W,建立类向导。在Message Maps中建立相关组件的类向导,如下图。
第五步:创建相关变量。右击C~Dlg,选择第四个Add Member Variable,如图
相应的变量有:int m_int
CSliderCtrl m_slider
第六步:添加代码(FileView面板)。
主要是在Dlg.cpp文件中添加如下代码:
#include Mmsystem.h
#include Digitalv.h
#pragma comment(lib,Winmm.lib)
//定义三个全局变量
HWND m_hWnd;
DWORD DeviceID;
MCI_OPEN_PARMS mciopenparms;
void Load(HWND hWnd,CString strFilepath)
{
m_hWnd=hWnd;
mciSendCommand(DeviceID,MCI_CLOSE,0,0);//在加载文件前先清空上一次播放的设备
mciopenparms.lpstrElementName=strFilepath;//将音乐文件路径传给设备
DWORD dwReturn;
if(dwReturn=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT|MCI_WAIT,(DWORD)(LPVOID)mciopenparms))
{
//如果打开文件失败,则将出错信息储存在buffer,并显示出错警告
char buffer[256];
mciGetErrorString(dwReturn,buffer,256);
MessageBox(hWnd,buffer,出错警告!,MB_ICONHAND|MB_ICONERROR|MB_ICONSTOP);
}
DeviceID=mciopenparms.wDeviceID;
//打开文件成功就关联文件到设备
}
void play()
{
MCI_PLAY_PARMS mciplayparms;
mciplayparms.dwCallback=(DWORD)m_hWnd;
mciplayparms.dwFrom=0;//每次播放都是从0开始播放
mciSendCommand(DeviceID,MCI_PLAY,MCI_FROM|MCI_NOTIFY,(DWORD)(LPVOID)mciplayparms);
}
void pause()
{
mciSendCommand(DeviceID,MCI_PAUSE,0,0);
}
void resume()
{
mciSendCommand(DeviceID,MCI_RESUME,0,0);
}
void stop()
{
mciSendCommand(DeviceID,MCI_STOP,0,0);
mciSendCommand(DeviceID,MCI_CLOSE,0,0);
//当点击停止按钮时,将所有的信息都清除掉
}
DWORD setvolume(DWORD vol)
{
MCI_DGV_SETAUDIO_PARMS setvolume;//这是设置音量的参数数据结构
setvolume.dwCallback=NULL;
setvolume.dwItem=M
文档评论(0)