播放器部分代码()media player控件

    技术2022-05-20  35

    // Group2Dlg.cpp : implementation file//

    #include "stdafx.h"#include "Group2.h"#include "Group2Dlg.h"

    #ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif

    /// CAboutDlg dialog used for App About

    class CAboutDlg : public CDialog{public: CAboutDlg();

    // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA

     // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support //}}AFX_VIRTUAL

    // Implementationprotected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP()};

    CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){ //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT}

    void CAboutDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP}

    BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg)  // No message handlers //}}AFX_MSG_MAPEND_MESSAGE_MAP()

    /// CGroup2Dlg dialog

    CGroup2Dlg::CGroup2Dlg(CWnd* pParent /*=NULL*/) : CDialog(CGroup2Dlg::IDD, pParent){ //{{AFX_DATA_INIT(CGroup2Dlg)  // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32

     fi=-1;fr=0;

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

    void CGroup2Dlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CGroup2Dlg) DDX_Control(pDX, IDC_SKIN, m_skin); DDX_Control(pDX, IDC_Listbox, m_list); DDX_Control(pDX, IDC_OCX1, m_playview); //}}AFX_DATA_MAP}

    BEGIN_MESSAGE_MAP(CGroup2Dlg, CDialog) //{{AFX_MSG_MAP(CGroup2Dlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_LBN_DBLCLK(IDC_Listbox, OnDblclkListbox) ON_BN_CLICKED(IDC_Add, OnAdd) ON_BN_CLICKED(IDOK2, OnDel) ON_BN_CLICKED(IDC_pop, Onpop) ON_CBN_SELCHANGE(IDC_SKIN, OnSelchangeSkin) //}}AFX_MSG_MAPEND_MESSAGE_MAP()

    /// CGroup2Dlg message handlers

    BOOL CGroup2Dlg::OnInitDialog(){ CDialog::OnInitDialog();

     // Add "About..." menu item to system menu.

     // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000);

     CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) {  CString strAboutMenu;  strAboutMenu.LoadString(IDS_ABOUTBOX);  if (!strAboutMenu.IsEmpty())  {   pSysMenu->AppendMenu(MF_SEPARATOR);   pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);  } }

     // Set the icon for this dialog.  The framework does this automatically //  when the application's main window is not a dialog SetIcon(m_hIcon, TRUE);   // Set big icon SetIcon(m_hIcon, FALSE);  // Set small icon m_flag=true;m_flag1=true,m_flag2=false;m_flag3=true;m_flag4=true;

     MoveWindow(200,200,735,450); // TODO: Add extra initialization here

     

     m_skin.AddString("皮肤1");// m_skin.SetTopIndex = 0; m_skin.AddString("皮肤2"); m_skin.AddString("皮肤3"); m_skin.AddString("皮肤4"); m_skin.AddString("皮肤5");

     CComboBox *pBox = (CComboBox *)GetDlgItem( IDC_SKIN ) ;  pBox->SetCurSel( 0 ) ; //设置为第零个元素  return TRUE;  // return TRUE  unless you set the focus to a control}

    void CGroup2Dlg::OnSysCommand(UINT nID, LPARAM lParam){ if ((nID & 0xFFF0) == IDM_ABOUTBOX) {  CAboutDlg dlgAbout;  dlgAbout.DoModal(); } else {  CDialog::OnSysCommand(nID, lParam); }}

    // If you add a minimize button to your dialog, you will need the code below//  to draw the icon.  For MFC applications using the document/view model,//  this is automatically done for you by the framework.

    void CGroup2Dlg::OnPaint() { if (IsIconic()) {  CPaintDC dc(this); // device context for painting

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

      // Center icon in client rectangle  int cxIcon = GetSystemMetrics(SM_CXICON);  int cyIcon = GetSystemMetrics(SM_CYICON);  CRect rect;  GetClientRect(&rect);  int x = (rect.Width() - cxIcon + 1) / 2;  int y = (rect.Height() - cyIcon + 1) / 2;

      // Draw the icon  dc.DrawIcon(x, y, m_hIcon); } else {  CDialog::OnPaint(); }}

    // The system calls this to obtain the cursor to display while the user drags//  the minimized window.HCURSOR CGroup2Dlg::OnQueryDragIcon(){ return (HCURSOR) m_hIcon;}

     

    void CGroup2Dlg::forfor(){ int i=0; for(i;i<=fi;i++) {  file1[i]=file[i]; }}

    void CGroup2Dlg::forfor1(){ int i=0; for(i;i<=fi;i++) {  file[i]=file1[i]; }}

     

    void CGroup2Dlg::OnOK() {

     /*

     CFileDialog dlg(TRUE,NULL,NULL,0,"所有文件|*.*",NULL); if(dlg.DoModal()==IDOK) {  //m_playview.SetFileName(dlg.GetPathName());

      m_playview.SetUrl(dlg.GetPathName()); } */

     

     CFileDialog f(TRUE,NULL,NULL,0,"所有文件|*.*",NULL); f.m_ofn.Flags |=512;//OFN_ALLOWMULTISELECT; f.m_ofn.lpstrFilter="All Support type/0*.*/0/0";    //选取内容部份 POSITION pos=f.GetStartPosition(); if(f.DoModal()==IDOK)  {   while (pos != NULL)  {   fi++;   file[fi]=f.GetNextPathName(pos);//   file2[fi]=ExtractFileName(file[fi]);

    //   ExtractFileName   if(aa=="")   {    aa=file[fi];    fr=fi;//    Onstop();//    Tplay();       // m_play.LoadBitmaps(IDB_BITMAPPAUSE,IDB_BITMAPPLAY3);    m_flag=false;   // m_play.RedrawWindow();   }

       m_playview.SetUrl(file[fi]);

       m_list.AddString(file[fi]);   m_list.SetCurSel(fi);   UpdateData(false);  }  forfor();  }

     

     // TODO: Add extra validation here // CDialog::OnOK();}

    void CGroup2Dlg::On_newplaylist() { 

     // TODO: Add your control notification handler code here  CFileDialog dlg(TRUE,NULL,NULL,0,"所有文件|*.*",NULL); if(dlg.DoModal()==IDOK) {  //m_playview.SetFileName(dlg.GetPathName());

     // m_playview.SetUrl(dlg.GetPathName()); }

     CString Url=dlg.GetPathName();// m_playview.newPlaylist("new",Url);

     

     }

    void CGroup2Dlg::OnDblclkListbox() { // TODO: Add your control notification handler code here 

     int i=m_list.GetCurSel(); CString tp; tp.Format("%d",i); fr=i; aa=file[i];// Onstop();// OnPlay();

     m_playview.SetUrl(aa); UpdateData(false);

    }

     

    void CGroup2Dlg::OnAdd() { 

     CDialog::OnOK(); }

    void CGroup2Dlg::OnDel() { // TODO: Add your control notification handler code here  int temp=0,i=0,j=0; temp=m_list.GetCurSel(); for(i;i<=fi;i++) {  if(i==temp)  {   j=i;   for(j;j<fi;j++)   {    file1[j]=file1[j+1];   }   fi=fi-1;   m_list.DeleteString(temp);   m_list.SetCurSel(temp-1);   UpdateData(false);   forfor1();  } } }

    void CGroup2Dlg::Onpop() { // TODO: Add your control notification handler code here

      if(!m_flag4) {  for(int i=510;i<=735;i++)  {   Sleep(1);   MoveWindow(200,200,i,450);    }   m_flag4=true;  }else {  for(int i=735;i>=510;i--)  {   Sleep(1);   MoveWindow(200,200,i,450);  }  m_flag4=false;  } }

    void CGroup2Dlg::OnSelchangeSkin() { // TODO: Add your control notification handler code here

    // int x;

     switch(m_skin.GetCurSel()) { case 0:  {   VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));   if(0==LoadSkinFile("corona.smf"))   {    m_blnSkinLoaded=FALSE;    AfxMessageBox("请在播放音乐之前设置好皮肤!!");   }   else    m_blnSkinLoaded=TRUE;   if(m_blnSkinLoaded)   {    //VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));    //对话框类型的工程不要加这句话。    VERIFY( 1 == SetDialogSkin( "Dialog" ) );   }        m_skin.SetCurSel(0);

      }break; case 1:  {

       VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));   if(0==LoadSkinFile("x-plus.smf"))   {    m_blnSkinLoaded=FALSE;    AfxMessageBox("请在播放音乐之前设置好皮肤!!");   }   else    m_blnSkinLoaded=TRUE;   if(m_blnSkinLoaded)   {    //VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));    //对话框类型的工程不要加这句话。    VERIFY( 1 == SetDialogSkin( "Dialog" ) );   }

        m_skin.SetCurSel(1);  }break;

     case 2:  {

       VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));   if(0==LoadSkinFile("BlueHorn.smf"))   {    m_blnSkinLoaded=FALSE;    AfxMessageBox("请在播放音乐之前设置好皮肤!!");   }   else    m_blnSkinLoaded=TRUE;   if(m_blnSkinLoaded)   {    //VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));    //对话框类型的工程不要加这句话。    VERIFY( 1 == SetDialogSkin( "Dialog" ) );   }    m_skin.SetCurSel(2);

      }break; case 3:  {

       VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));   if(0==LoadSkinFile("xpsteel.smf"))   {    m_blnSkinLoaded=FALSE;    AfxMessageBox("请在播放音乐之前设置好皮肤!!");   }   else    m_blnSkinLoaded=TRUE;   if(m_blnSkinLoaded)   {    //VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));    //对话框类型的工程不要加这句话。    VERIFY( 1 == SetDialogSkin( "Dialog" ) );   }    m_skin.SetCurSel(3);    }break; case 4:  {

       VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));   if(0==LoadSkinFile("xpblue.smf"))   {    m_blnSkinLoaded=FALSE;    AfxMessageBox("请在播放音乐之前设置好皮肤!!");   }   else    m_blnSkinLoaded=TRUE;   if(m_blnSkinLoaded)   {    //VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));    //对话框类型的工程不要加这句话。    VERIFY( 1 == SetDialogSkin( "Dialog" ) );   }

        m_skin.SetCurSel(4);

      }

      }

     

     }


    最新回复(0)