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

// Group2Dlg.cpp : implementation file
//

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

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static 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

// Implementation
protected:
 //{{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_MAP
END_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_MAP
END_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);

  }


 
 }

 


 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值