mfc播放器.docx

上传人:b****6 文档编号:4728424 上传时间:2022-12-08 格式:DOCX 页数:28 大小:21.33KB
下载 相关 举报
mfc播放器.docx_第1页
第1页 / 共28页
mfc播放器.docx_第2页
第2页 / 共28页
mfc播放器.docx_第3页
第3页 / 共28页
mfc播放器.docx_第4页
第4页 / 共28页
mfc播放器.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

mfc播放器.docx

《mfc播放器.docx》由会员分享,可在线阅读,更多相关《mfc播放器.docx(28页珍藏版)》请在冰豆网上搜索。

mfc播放器.docx

mfc播放器

classCMyApp:

publicCWinApp

{

public:

virtualBOOLInitInstance();

};

classCMainWindow:

publicCFrameWnd

{

public:

afx_msgvoidOnMouseMove(UINTnFlags,CPointpoint);

protected:

HWNDm_hMyMCIWnd;

CListBoxListBox1;

CButtonbtn;

CButtonbtn1;

CButtonbtn2;

CButtonbtn3;

CButtonclo;

CButtonopen;

CButtonloop;

CButtonloop1;

CButtonloop2;

CButtonloop3;

CPalettem_palette;

voidDoGradientFill(CDC*pDC,LPRECTpRect);

CStringGetSuffix(CStringstrFileName);

CBrushm_brRedBrush;

CBrushm_brush;

CFontfont;

CFontfont1;

intx,y;

inth;

intwork;

intxop,yop;

CStringFileString;

public:

CMainWindow();

protected:

staticconstTCHARszFilters1[];

staticconstTCHARszFilters2[];

afx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint);

afx_msgvoidOnLButtonUp(UINTnFlags,CPointpoint);

afx_msgBOOLOnMouseWheel(UINTnFlags,shortzDelta,CPointpoint);

afx_msgintOnCreate(LPCREATESTRUCTlpcs);

afx_msgLRESULTOnMCINotify(WPARAMwParam,LPARAMlParam);

afx_msgvoidOnBtnClick();

afx_msgvoidOnBtnClick1();

afx_msgvoidOnBtnClick2();

   afx_msgvoidOnBtnClick3();

afx_msgvoidOnBtnClick4();

afx_msgvoidOnBtnClick5();

afx_msgvoidOnCheckClick();

afx_msgvoidOnCheckClick1();

afx_msgvoidOnCheckClick2();

afx_msgvoidOnCheckClick3();

afx_msgvoidOnTimer(UINTnTimerID);

afx_msgvoidOnSize(UINTnType,intcx,intcy);

afx_msgBOOLOnEraseBkgnd(CDC*pDC);

afx_msgHBRUSHOnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor);

   DECLARE_MESSAGE_MAP()

};

//窗体代码Player.cpp

#include

#include"Player.h"

#include"VolumeControl.h"

#include

#include

#include"math.h"

#pragmacomment(lib,"vfw32.lib")

#defineIDC_LISTBOX1000

#defineIDC_OPEN1001

#defineIDC_OPEN11002

#defineIDC_OPEN21003

#defineIDC_OPEN31004

#defineIDC_OPEN41007

#defineIDC_CLOSE1005

#defineIDC_MAIN1006

#defineIDC_CHECK1008

#defineIDC_CHECK11009

#defineIDC_CHECK21010

#defineIDC_CHECK31011

CMyAppmyApp;

constTCHARCMainWindow:

:

szFilters1[]=_T("SoundFiles(*.mp3)|*.mp3|AllFiles(*.*)|*.*||");

constTCHARCMainWindow:

:

szFilters2[]=_T("MovieFiles(*.avi)|*.avi|AllFiles(*.*)|*.*||");

UINTnSound;

CStringstr1,str,name,filename;

intsign=1,nVolume,length,count=0;

ControlWindow*con;

BOOLEloop=FALSE,Eloop1=FALSE,Eloop2=FALSE,flag=FALSE,Eloop3=FALSE;

intIndex=0;

BOOLCMyApp:

:

InitInstance()

{

m_pMainWnd=newCMainWindow;

m_pMainWnd->ShowWindow(m_nCmdShow);

m_pMainWnd->UpdateWindow();

returnTRUE;

}

BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)

ON_WM_CREATE()

ON_BN_CLICKED(IDC_OPEN,OnBtnClick)

ON_BN_CLICKED(IDC_OPEN1,OnBtnClick1)

ON_BN_CLICKED(IDC_OPEN2,OnBtnClick2)

ON_BN_CLICKED(IDC_OPEN3,OnBtnClick3)

   ON_BN_CLICKED(IDC_CLOSE,OnBtnClick4)

ON_BN_CLICKED(IDC_OPEN4,OnBtnClick5)

ON_BN_CLICKED(IDC_CHECK,OnCheckClick)

ON_BN_CLICKED(IDC_CHECK1,OnCheckClick1)

ON_BN_CLICKED(IDC_CHECK2,OnCheckClick2)

ON_BN_CLICKED(IDC_CHECK3,OnCheckClick3)

ON_WM_ERASEBKGND()

ON_WM_CTLCOLOR()

ON_WM_SIZE()

ON_WM_TIMER()

ON_WM_MOUSEWHEEL()

ON_MESSAGE(MCIWNDF_NOTIFYMODE,OnMCINotify)

ON_WM_LBUTTONDOWN()

ON_WM_LBUTTONUP()

ON_WM_MOUSEMOVE()

END_MESSAGE_MAP()

CMainWindow:

:

CMainWindow()

{

Create(NULL,_T("Player"),WS_POPUPWINDOW,CRect(100,100,620,610),this);

}

intCMainWindow:

:

OnCreate(LPCREATESTRUCTlpcs)

{

if(CFrameWnd:

:

OnCreate(lpcs)==-1)

  return-1;

//CoInitializeEx

CClientDCdc(this);

:

:

SetWindowPos(m_hWnd,HWND_TOPMOST,100,100,620,610,WS_EX_TOPMOST);

con=newControlWindow();

//con->ShowWindow(SW_SHOW);

if(dc.GetDeviceCaps(RASTERCAPS)&RC_PALETTE)

{

  struct{

   LOGPALETTElp;

   PALETTEENTRYape[63];

  }pal;

  LOGPALETTE*pLP=(LOGPALETTE*)&pal;

  pLP->palVersion=0x300;

  pLP->palNumEntries=64;

  for(inti=0;i<64;i++)

  {

   pLP->palPalEntry[i].peRed=0;

   pLP->palPalEntry[i].peGreen=0;

   pLP->palPalEntry[i].peBlue=255-(i*4);

   pLP->palPalEntry[i].peFlags=0;

  }

  m_palette.CreatePalette(pLP);

}

font1.CreatePointFont(80,_T("MSSansSerif"));

CRectrect;

rect.SetRect(110,450,210,465);

loop.Create("单曲循环",WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON,rect,this,IDC_CHECK);

loop.SetFont(&font1);

rect.SetRect(110,470,210,485);

loop1.Create("列表循环",WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON,rect,this,IDC_CHECK1);

loop1.SetFont(&font1);

rect.SetRect(200,450,300,465);

loop2.Create("单曲播放",WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON,rect,this,IDC_CHECK2);

loop2.SetFont(&font1);

loop2.SetCheck(BST_CHECKED);

rect.SetRect(200,470,300,485);

loop3.Create("顺序播放",WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON,rect,this,IDC_CHECK3);

loop3.SetFont(&font1);

rect.SetRect(10,444,50,484);

clo.Create(NULL,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON|BS_ICON|WS_BORDER,rect,this,IDC_CLOSE);

clo.SetIcon(AfxGetApp()->LoadIcon(_T("IDI_ICON5")));

rect.SetRect(460,444,500,484);

open.Create(NULL,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON|BS_ICON|WS_BORDER,rect,this,IDC_OPEN4);

open.SetIcon(AfxGetApp()->LoadIcon(_T("IDI_ICON7")));

rect.SetRect(300,444,340,484);

btn.Create(NULL,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON|BS_ICON|WS_BORDER,rect,this,IDC_OPEN);

btn.SetIcon(AfxGetApp()->LoadIcon(_T("IDI_ICON1")));

rect.SetRect(340,444,380,484);

btn2.Create(NULL,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON|BS_ICON|WS_BORDER,rect,this,IDC_OPEN2);

btn2.SetIcon(AfxGetApp()->LoadIcon(_T("IDI_ICON3")));

rect.SetRect(380,444,420,484);

btn1.Create(NULL,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON|BS_ICON|WS_BORDER,rect,this,IDC_OPEN1);

btn1.SetIcon(AfxGetApp()->LoadIcon(_T("IDI_ICON2")));

rect.SetRect(420,444,460,484);

btn3.Create(NULL,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON|BS_ICON|WS_BORDER,rect,this,IDC_OPEN3);

btn3.SetIcon(AfxGetApp()->LoadIcon(_T("IDI_ICON4")));

//bitmap.m_hObject=(HBITMAP):

:

LoadImage(AfxGetInstanceHandle(),"b.bmp",IMAGE_BITMAP,110,40,LR_LOADFROMFILE);

//CClientDCdc1(this);

//CBitmapbitmap;

//bitmap.LoadBitmap(_T("IDB_BITMAP1"));

//CBrushbrush(&bitmap);

//dc1.FillRect(CRect(390,445,500,485),&brush);

rect.SetRect(370,5,505,430);

ListBox1.Create(WS_CHILD|WS_VISIBLE|LBS_STANDARD|WS_BORDER,rect,this,IDC_LISTBOX);

font.CreatePointFont(100,_T("MSScansSerif"));

   ListBox1.SetFont(&font);

if(!

MCIWndRegisterClass()){

  MessageBox("初始化未成功");

}

//m_hMyMCIWnd=MCIWndCreate(this->m_hWnd,AfxGetInstanceHandle(),MCIWNDF_NOTIFYSIZE|MCIWNDF_NOERRORDLG|MCIWNDF_NOTIFYMODE|WS_CHILD|WS_VISIBLE|WS_BORDER|MCIWNDF_NOMENU,NULL);

//m_hMyMCIWnd=MCIWndCreate(this->GetSafeHwnd(),AfxGetInstanceHandle(),WS_CHILD|WS_VISIBLE|MCIWNDF_NOPLAYBAR|MCIWNDF_NOMENU|MCIWNDF_NOTIFYMODE|WS_BORDER,NULL);

//nVolume=MCIWndGetVolume(m_hMyMCIWnd);

}

BOOLCMainWindow:

:

OnEraseBkgnd(CDC*pDC)

{

CRectrect;

GetClientRect(&rect);

:

:

SetWindowPos(m_hMyMCIWnd,NULL,3,3,3,3,SWP_NOZORDER);

CPalette*pOldPalette;

if((HPALETTE)m_palette!

=NULL){

  pOldPalette=pDC->SelectPalette(&m_palette,FALSE);

  pDC->RealizePalette();

}

DoGradientFill(pDC,&rect);

if((HPALETTE)m_palette!

=NULL)

  pDC->SelectPalette(pOldPalette,FALSE);

returnTRUE;

}

voidCMainWindow:

:

OnBtnClick1()

{

ListBox1.DeleteString(ListBox1.GetCurSel());

}

voidCMainWindow:

:

OnBtnClick2()

{

CFileDialogdlg(TRUE,_T("avi"),_T("*.avi"),OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,szFilters2);

   if(dlg.DoModal()==IDOK){

  m_hMyMCIWnd=MCIWndCreate(this->GetSafeHwnd(),AfxGetInstanceHandle(),WS_CHILD|WS_VISIBLE|MCIWNDF_NOPLAYBAR|MCIWNDF_NOMENU|MCIWNDF_NOTIFYMODE|WS_BORDER,NULL);

  nVolume=MCIWndGetVolume(m_hMyMCIWnd);

  name=dlg.GetFileName();

MCIWndStop(m_hMyMCIWnd);

   

ListBox1.AddString(name);

filename=name;

if(filename.GetLength()>0&&GetSuffix(filename)=="avi"){

  nSound=MCIWndOpen(m_hMyMCIWnd,(LPCSTR)filename,NULL);

  :

:

SetWindowPos(m_hMyMCIWnd,NULL,3,3,400,400,SWP_NOZORDER);

  HRGNhRgn1=:

:

CreateRoundRectRgn(3,3,400,400,20,20);

  :

:

SetWindowRgn(m_hMyMCIWnd,hRgn1,TRUE);

  if(nSound==0)

  {

   MCIWndPlay(m_hMyMCIWnd);

   con->m_slider.EnableWindow(TRUE);

   con->m_slider1.EnableWindow(TRUE);

   SetTimer(1,1000,NULL);

  }

}

else{

  //MCIWndDestroy(m_hMyMCIWnd);

  MessageBox(_T("没有读出文件"),0,MB_OK);

}

}

}

voidCMainWindow:

:

OnBtnClick3()

{

for(inti=0;i

{

  ListBox1.DeleteString(i);

  i--;

}

}

voidCMainWindow:

:

OnBtnClick4()

{

this->CloseWindow();

this->DestroyWindow();

}

voidCMainWindow:

:

OnBtnClick5()

{

count++;

if(count%2==0){

  con->ShowWindow(SW_SHOW);

  open.SetIcon(AfxGetApp()->LoadIcon("IDI_ICON7"));

}

else{

  con->ShowWindow(SW_HIDE);

  open.SetIcon(AfxGetApp()->LoadIcon("IDI_ICON8"));

}

}

voidCMainWindow:

:

OnBtnClick()

{

CFileDialogdlg(TRUE,_T("mp3"),_T("*.mp3"),OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,szFilters1);

   if(dlg.DoModal()==IDOK){

  m_hMyMCIWnd=MCIWndCreate(this->GetSafeHwnd(),AfxGetInstanceHandle(),WS_CHILD|WS_VISIBLE|MCIWNDF_NOPLAYBAR|MCIWNDF_NOMENU|MCIWNDF_NOTIFYMODE|WS_BORDER,NULL);

  nVolume=MCIWndGetVolume(m_hMyMCIWnd);

  name=dlg.GetFileName();

  MCIWndStop(m_hMyMCIWnd);

   

ListBox1.AddString(name);

filename=name;

if(filename.GetLength()>0&&GetSuffix(filename)=="mp3"){

  nSound=MCIWndOpen(m_hMyMCIWnd,(LPCSTR)filename,NULL);

  if(nSound==0){

   MCIWndPlay(m_hMyMCIWnd);

   con->m_slider.EnableWindow(TRUE);

   con->m_slider1.EnableWindow(TRUE);

   SetTimer(1,1000,NULL);

  }

}

else{

  //MCIWndDestroy(m_hMyMCIWnd);

  MessageBox(_T("没有读出文件"),0,MB_OK);

}

}

}

CStringCMainWindow:

:

GetSuffix(CStringstrFileName)  

{  

return  strFileName.Right(strFileName.GetLength()-strFileName.ReverseFind('.')-1);  

}

LRESULTCMainWindow:

:

OnMCINotify(WPARAMwParam,LPARAMlParam)

{

if(wParam==MCI_MODE_STOP)

{

  MessageBox("结束");

  //MCIWndDestroy(m_hMyMCIWnd);

}

returnTRUE;

}

voidCMainWindow:

:

DoGradientFill(CDC*pDC,LPRECTpRect)

{

CBrush*brush3[255];

TRY{

CBrush*

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

当前位置:首页 > 高中教育 > 其它课程

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

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