2DotNet平台技术实验报告4.docx

上传人:b****5 文档编号:6695425 上传时间:2023-01-09 格式:DOCX 页数:12 大小:58.83KB
下载 相关 举报
2DotNet平台技术实验报告4.docx_第1页
第1页 / 共12页
2DotNet平台技术实验报告4.docx_第2页
第2页 / 共12页
2DotNet平台技术实验报告4.docx_第3页
第3页 / 共12页
2DotNet平台技术实验报告4.docx_第4页
第4页 / 共12页
2DotNet平台技术实验报告4.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

2DotNet平台技术实验报告4.docx

《2DotNet平台技术实验报告4.docx》由会员分享,可在线阅读,更多相关《2DotNet平台技术实验报告4.docx(12页珍藏版)》请在冰豆网上搜索。

2DotNet平台技术实验报告4.docx

2DotNet平台技术实验报告4

实验4多媒体程序的开发

专业班级计算机XXX学号XXXXXX姓名XXX

一、实验目的

了解多媒体的概念;掌握使用.NET平台开发多媒体程序。

二、实验内容

做一个多媒体播放器,能够选择文件、播放、暂停、拖动播放、停止等功能。

三、核心源代码

//media.h:

PROJECT_NAME应用程序的主头文件

//

#pragmaonce

#ifndef__AFXWIN_H__

#error"在包含此文件之前包含“stdafx.h”以生成PCH文件"

#endif

#include"resource.h"//主符号

 

//CmediaApp:

//有关此类的实现,请参阅media.cpp

//

classCmediaApp:

publicCWinApp

{

public:

CmediaApp();

//重写

public:

virtualBOOLInitInstance();

//实现

DECLARE_MESSAGE_MAP()

};

externCmediaApptheApp;

(续)

//mediaDlg.h:

头文件

//

#pragmaonce

#include"afxwin.h"

 

//CmediaDlg对话框

classCmediaDlg:

publicCDialogEx

{

//构造

public:

CmediaDlg(CWnd*pParent=NULL);//标准构造函数

//对话框数据

enum{IDD=IDD_MEDIA_DIALOG};

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持

 

//实现

protected:

HICONm_hIcon;

//生成的消息映射函数

virtualBOOLOnInitDialog();

afx_msgvoidOnSysCommand(UINTnID,LPARAMlParam);

afx_msgvoidOnPaint();

afx_msgHCURSOROnQueryDragIcon();

DECLARE_MESSAGE_MAP()

public:

afx_msgvoidOnBnClickedOk();

afx_msgvoidOnLbnSelchangeList2();

CListBoxm_list;

};

(续)

//media.cpp:

定义应用程序的类行为。

//

#include"stdafx.h"

#include"media.h"

#include"mediaDlg.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#endif

 

//CmediaApp

BEGIN_MESSAGE_MAP(CmediaApp,CWinApp)

ON_COMMAND(ID_HELP,&CWinApp:

:

OnHelp)

END_MESSAGE_MAP()

 

//CmediaApp构造

CmediaApp:

:

CmediaApp()

{

//支持重新启动管理器

m_dwRestartManagerSupportFlags=AFX_RESTART_MANAGER_SUPPORT_RESTART;

//TODO:

在此处添加构造代码,

//将所有重要的初始化放置在InitInstance中

}

 

//唯一的一个CmediaApp对象

CmediaApptheApp;

 

//CmediaApp初始化

BOOLCmediaApp:

:

InitInstance()

{

//如果一个运行在WindowsXP上的应用程序清单指定要

//使用ComCtl32.dll版本6或更高版本来启用可视化方式,

//则需要InitCommonControlsEx()。

否则,将无法创建窗口。

INITCOMMONCONTROLSEXInitCtrls;

InitCtrls.dwSize=sizeof(InitCtrls);

//将它设置为包括所有要在应用程序中使用的

//公共控件类。

InitCtrls.dwICC=ICC_WIN95_CLASSES;

InitCommonControlsEx(&InitCtrls);

CWinApp:

:

InitInstance();

 

AfxEnableControlContainer();

//创建shell管理器,以防对话框包含

//任何shell树视图控件或shell列表视图控件。

CShellManager*pShellManager=newCShellManager;

//标准初始化

//如果未使用这些功能并希望减小

//最终可执行文件的大小,则应移除下列

//不需要的特定初始化例程

//更改用于存储设置的注册表项

//TODO:

应适当修改该字符串,

//例如修改为公司或组织名

SetRegistryKey(_T("应用程序向导生成的本地应用程序"));

CmediaDlgdlg;

m_pMainWnd=&dlg;

INT_PTRnResponse=dlg.DoModal();

if(nResponse==IDOK)

{

//TODO:

在此放置处理何时用

//“确定”来关闭对话框的代码

}

elseif(nResponse==IDCANCEL)

{

//TODO:

在此放置处理何时用

//“取消”来关闭对话框的代码

}

//删除上面创建的shell管理器。

if(pShellManager!

=NULL)

{

deletepShellManager;

}

//由于对话框已关闭,所以将返回FALSE以便退出应用程序,

//而不是启动应用程序的消息泵。

returnFALSE;

}

 

//mediaDlg.cpp:

实现文件

//

#include"stdafx.h"

#include"media.h"

#include"mediaDlg.h"

#include"afxdialogex.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#endif

 

//用于应用程序“关于”菜单项的CAboutDlg对话框

classCAboutDlg:

publicCDialogEx

{

public:

CAboutDlg();

//对话框数据

enum{IDD=IDD_ABOUTBOX};

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持

//实现

protected:

DECLARE_MESSAGE_MAP()

};

CAboutDlg:

:

CAboutDlg():

CDialogEx(CAboutDlg:

:

IDD)

{

}

voidCAboutDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialogEx:

:

DoDataExchange(pDX);

}

BEGIN_MESSAGE_MAP(CAboutDlg,CDialogEx)

END_MESSAGE_MAP()

 

//CmediaDlg对话框

 

CmediaDlg:

:

CmediaDlg(CWnd*pParent/*=NULL*/)

:

CDialogEx(CmediaDlg:

:

IDD,pParent)

{

m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

voidCmediaDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialogEx:

:

DoDataExchange(pDX);

DDX_Control(pDX,IDC_LIST2,m_list);

}

BEGIN_MESSAGE_MAP(CmediaDlg,CDialogEx)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDOK,&CmediaDlg:

:

OnBnClickedOk)

ON_LBN_SELCHANGE(IDC_LIST2,&CmediaDlg:

:

OnLbnSelchangeList2)

END_MESSAGE_MAP()

 

//CmediaDlg消息处理程序

BOOLCmediaDlg:

:

OnInitDialog()

{

CDialogEx:

:

OnInitDialog();

//将“关于...”菜单项添加到系统菜单中。

//IDM_ABOUTBOX必须在系统命令范围内。

ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX<0xF000);

CMenu*pSysMenu=GetSystemMenu(FALSE);

if(pSysMenu!

=NULL)

{

BOOLbNameValid;

CStringstrAboutMenu;

bNameValid=strAboutMenu.LoadString(IDS_ABOUTBOX);

ASSERT(bNameValid);

if(!

strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);

}

}

//设置此对话框的图标。

当应用程序主窗口不是对话框时,框架将自动

//执行此操作

SetIcon(m_hIcon,TRUE);//设置大图标

SetIcon(m_hIcon,FALSE);//设置小图标

//TODO:

在此添加额外的初始化代码

returnTRUE;//除非将焦点设置到控件,否则返回TRUE

}

voidCmediaDlg:

:

OnSysCommand(UINTnID,LPARAMlParam)

{

if((nID&0xFFF0)==IDM_ABOUTBOX)

{

CAboutDlgdlgAbout;

dlgAbout.DoModal();

}

else

{

CDialogEx:

:

OnSysCommand(nID,lParam);

}

}

//如果向对话框添加最小化按钮,则需要下面的代码

//来绘制该图标。

对于使用文档/视图模型的MFC应用程序,

//这将由框架自动完成。

voidCmediaDlg:

:

OnPaint()

{

if(IsIconic())

{

CPaintDCdc(this);//用于绘制的设备上下文

SendMessage(WM_ICONERASEBKGND,reinterpret_cast(dc.GetSafeHdc()),0);

//使图标在工作区矩形中居中

intcxIcon=GetSystemMetrics(SM_CXICON);

intcyIcon=GetSystemMetrics(SM_CYICON);

CRectrect;

GetClientRect(&rect);

intx=(rect.Width()-cxIcon+1)/2;

inty=(rect.Height()-cyIcon+1)/2;

//绘制图标

dc.DrawIcon(x,y,m_hIcon);

}

else

{

CDialogEx:

:

OnPaint();

}

}

//当用户拖动最小化窗口时系统调用此函数取得光标

//显示。

HCURSORCmediaDlg:

:

OnQueryDragIcon()

{

returnstatic_cast(m_hIcon);

}

 

voidCmediaDlg:

:

OnBnClickedOk()

{

//TODO:

在此添加控件通知处理程序代码

//CDialogEx:

:

OnOK();

intnlndex1=m_list.AddString("杭州乐园");

}

 

voidCmediaDlg:

:

OnLbnSelchangeList2()

{

//TODO:

在此添加控件通知处理程序代码

//intnlndex=m_list.GetCurSel();

//m_list.GetText(nlndex,"杭州乐园");

//m_list.AddString("杭州乐园");

UpdateData();

structmedia{

CStringname;

};

intnlndex=m_list.GetCurSel();

mediaaa;

aa.name="杭州乐园";

m_list.SetItemDataPtr(nlndex,newmedia(aa));

//UpdateData(FALSE);

intnlndex1=m_list.AddString("杭州乐园");

}

 

四、运行结果(贴图)

播放运行图

五、指导教师评议

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1