799 lines
18 KiB
C++
Executable File
799 lines
18 KiB
C++
Executable File
// MusicOpenFileDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "musicplayer.h"
|
|
#include "MusicOpenFileDlg.h"
|
|
#include <Afxcmn.h>
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMusicOpenFileDlg dialog
|
|
|
|
|
|
CMusicOpenFileDlg::CMusicOpenFileDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CMusicOpenFileDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CMusicOpenFileDlg)
|
|
//}}AFX_DATA_INIT
|
|
|
|
// 初始化背景画刷
|
|
CBitmap tmpBmp;
|
|
// 从资源中加载背景图片
|
|
tmpBmp.LoadBitmap(IDB_FILEVIEW_WND);
|
|
|
|
m_BgDC.CreateCompatibleDC(NULL);
|
|
m_BgDC.SelectObject(&tmpBmp);
|
|
|
|
tmpBmp.DeleteObject();
|
|
|
|
m_txtFont.CreateFont(18,0,0,0,FW_BOLD,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,
|
|
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,_T("Arial"));
|
|
|
|
m_NumberDir = 0; // 当前目录下目录总数
|
|
m_CurrentPossion = 0; // 当前位置
|
|
// 根目录路径
|
|
m_FilePath = L"\\Storage Card";
|
|
m_File.Empty();
|
|
}
|
|
|
|
CMusicOpenFileDlg::~CMusicOpenFileDlg()
|
|
{
|
|
m_BgDC.DeleteDC();
|
|
m_txtFont.DeleteObject();
|
|
|
|
}
|
|
|
|
void CMusicOpenFileDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CMusicOpenFileDlg)
|
|
DDX_Control(pDX, IDC_BUTTON6, m_lab6);
|
|
DDX_Control(pDX, IDC_BUTTON5, m_lab5);
|
|
DDX_Control(pDX, IDC_BUTTON4, m_lab4);
|
|
DDX_Control(pDX, IDC_BUTTON3, m_lab3);
|
|
DDX_Control(pDX, IDC_BUTTON2, m_lab2);
|
|
DDX_Control(pDX, IDC_BUTTON1, m_lab1);
|
|
DDX_Control(pDX, IDC_BUTTON_MUSIC_BACK, m_butBack);
|
|
DDX_Control(pDX, IDC_BUTTON_MUSIC_UP, m_butUp);
|
|
DDX_Control(pDX, IDC_BUTTON_MUSIC_PLAY, m_butPlay);
|
|
DDX_Control(pDX, IDC_BUTTON_MUSIC_FILE, m_butExit);
|
|
DDX_Control(pDX, IDC_BUTTON_MUSIC_DOWN, m_butDown);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CMusicOpenFileDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CMusicOpenFileDlg)
|
|
ON_WM_ERASEBKGND()
|
|
ON_WM_PAINT()
|
|
ON_BN_CLICKED(IDC_BUTTON_MUSIC_BACK, OnButtonMusicBack)
|
|
ON_BN_CLICKED(IDC_BUTTON_MUSIC_DOWN, OnButtonMusicDown)
|
|
ON_BN_CLICKED(IDC_BUTTON_MUSIC_FILE, OnButtonMusicFile)
|
|
ON_BN_CLICKED(IDC_BUTTON_MUSIC_PLAY, OnButtonMusicPlay)
|
|
ON_BN_CLICKED(IDC_BUTTON_MUSIC_UP, OnButtonMusicUp)
|
|
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
|
|
ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
|
|
ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
|
|
ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
|
|
ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
|
|
ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMusicOpenFileDlg message handlers
|
|
|
|
BOOL CMusicOpenFileDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
CenterWindow(this); // center to the hpc screen
|
|
|
|
// TODO: Add extra initialization here
|
|
// 设置窗口大小
|
|
MoveWindow(0,0,320,240);
|
|
|
|
m_butExit.MoveWindow(285,8,25,25);
|
|
m_butExit.LoadBitmaps(IDB_FILEVIEW_CLOSE,IDB_FILEVIEW_CLOSED);
|
|
|
|
m_butUp.MoveWindow(271,37,46,46);
|
|
m_butUp.LoadBitmaps(IDB_FILEVIEW_UP,IDB_FILEVIEW_UPD,NULL,IDB_FILEVIEW_UPDIS);
|
|
m_butUp.EnableWindow(FALSE);
|
|
|
|
m_butDown.MoveWindow(271,87,46,46);
|
|
m_butDown.LoadBitmaps(IDB_FILEVIEW_NEXT,IDB_FILEVIEW_NEXTD,NULL,IDB_FILEVIEW_NEXTDIS);
|
|
m_butDown.EnableWindow(FALSE);
|
|
|
|
m_butBack.MoveWindow(271,137,46,46);
|
|
m_butBack.LoadBitmaps(IDB_FILEVIEW_BACK,IDB_FILEVIEW_BACKD,NULL,IDB_FILEVIEW_NEXTDIS);
|
|
|
|
m_butPlay.MoveWindow(271,187,46,46);
|
|
m_butPlay.LoadBitmaps(IDB_FILEVIEW_PLAY,IDB_FILEVIEW_PLAYD,NULL,IDB_FILEVIEW_PLAYDIS);
|
|
m_butPlay.EnableWindow(FALSE);
|
|
|
|
m_lab1.MoveWindow(24,51,60,80);
|
|
m_lab1.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
m_lab2.MoveWindow(107,51,60,80);
|
|
m_lab2.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
m_lab3.MoveWindow(189,51,60,80);
|
|
m_lab3.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
m_lab4.MoveWindow(24,134,60,80);
|
|
m_lab4.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
m_lab5.MoveWindow(107,134,60,80);
|
|
m_lab5.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
m_lab6.MoveWindow(189,134,60,80);
|
|
m_lab6.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
|
|
ScanFile();
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
BOOL CMusicOpenFileDlg::OnEraseBkgnd(CDC* pDC)
|
|
{
|
|
// TODO: Add your message handler code here and/or call default
|
|
return FALSE;
|
|
//return CDialog::OnEraseBkgnd(pDC);
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnPaint()
|
|
{
|
|
CPaintDC dc(this); // device context for painting
|
|
|
|
// TODO: Add your message handler code here
|
|
dc.BitBlt(0,0,320,240,&m_BgDC,0,0,SRCCOPY);
|
|
|
|
dc.SelectObject(&m_txtFont);
|
|
dc.SetBkMode(TRANSPARENT);
|
|
dc.SetTextColor(RGB(255,255,255));
|
|
dc.DrawText(m_TitleTxt,CRect(43,4,320,32),DT_LEFT|DT_VCENTER);
|
|
// Do not call CDialog::OnPaint() for painting messages
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButtonMusicBack()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
CString str = m_FilePath;
|
|
str.MakeLower();
|
|
|
|
if (str != L"\\storage card")
|
|
{
|
|
m_lab1.SetChecked(false);
|
|
m_lab2.SetChecked(false);
|
|
m_lab3.SetChecked(false);
|
|
m_lab4.SetChecked(false);
|
|
m_lab5.SetChecked(false);
|
|
m_lab6.SetChecked(false);
|
|
CString strFileName = m_FilePath;
|
|
|
|
strFileName.MakeLower();
|
|
|
|
CString FileExt;
|
|
FileExt.Empty();
|
|
// 文件名长度
|
|
int strLen = strFileName.GetLength() - 1;
|
|
|
|
for(int i = strLen; i >= 0; i--)
|
|
{
|
|
// 查找文件名中最好一个'.'
|
|
if(strFileName.GetAt(i) == '\\')
|
|
{
|
|
// 提取文件扩展名
|
|
FileExt = strFileName.Left(i);
|
|
break;
|
|
}
|
|
}
|
|
|
|
m_FilePath = FileExt;
|
|
ScanFile();
|
|
}
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButtonMusicDown()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
ShowFiles(m_CurrentPossion);
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButtonMusicFile()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
EndDialog(IDCANCEL);
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButtonMusicPlay()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
if (m_lab1.GetChecked())
|
|
{
|
|
m_File = m_FilePath + L"\\" + m_lab1.GetButtonTitle();
|
|
EndDialog(IDOK);
|
|
}
|
|
else if (m_lab2.GetChecked())
|
|
{
|
|
m_File = m_FilePath + L"\\" + m_lab2.GetButtonTitle();
|
|
EndDialog(IDOK);
|
|
}
|
|
else if (m_lab3.GetChecked())
|
|
{
|
|
m_File = m_FilePath + L"\\" + m_lab3.GetButtonTitle();
|
|
EndDialog(IDOK);
|
|
}
|
|
else if (m_lab4.GetChecked())
|
|
{
|
|
m_File = m_FilePath + L"\\" + m_lab4.GetButtonTitle();
|
|
EndDialog(IDOK);
|
|
}
|
|
else if (m_lab5.GetChecked())
|
|
{
|
|
m_File = m_FilePath + L"\\" + m_lab5.GetButtonTitle();
|
|
EndDialog(IDOK);
|
|
}
|
|
else if (m_lab6.GetChecked())
|
|
{
|
|
m_File = m_FilePath + L"\\" + m_lab6.GetButtonTitle();
|
|
EndDialog(IDOK);
|
|
}
|
|
else
|
|
{
|
|
m_File.Empty();
|
|
}
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButtonMusicUp()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
int tmpPossion = 0;
|
|
|
|
if (m_CurrentPossion - 12 > 0)
|
|
{
|
|
if (m_CurrentPossion == m_FileNames.GetUpperBound() + 1)
|
|
{
|
|
tmpPossion = m_CurrentPossion - ((m_FileNames.GetUpperBound() + 1) % 6) - 6;
|
|
}
|
|
else
|
|
{
|
|
tmpPossion = m_CurrentPossion - 12;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
tmpPossion = 0;
|
|
}
|
|
|
|
ShowFiles(tmpPossion);
|
|
}
|
|
|
|
|
|
void CMusicOpenFileDlg::ScanFile()
|
|
{
|
|
CString sSearchFile = m_FilePath + _T("\\*.*");
|
|
CString sFileName;
|
|
CStringArray tmpDir;
|
|
CStringArray tmpFile;
|
|
int i = 0;
|
|
|
|
tmpDir.RemoveAll();
|
|
tmpFile.RemoveAll();
|
|
|
|
m_FileNames.RemoveAll();
|
|
|
|
WIN32_FIND_DATA fd; // 查找文件信息
|
|
// 查找文件
|
|
HANDLE hFindFile = FindFirstFile(sSearchFile,&fd);
|
|
|
|
if(hFindFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
if (!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
|
|
{
|
|
if (IsAvailabFormat(fd.cFileName))
|
|
{
|
|
tmpFile.Add(fd.cFileName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
tmpDir.Add(fd.cFileName);
|
|
}
|
|
|
|
while(FindNextFile(hFindFile,&fd) != 0)
|
|
{
|
|
if (!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
|
|
{
|
|
if (IsAvailabFormat(fd.cFileName))
|
|
{
|
|
tmpFile.Add(fd.cFileName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
tmpDir.Add(fd.cFileName);
|
|
}
|
|
|
|
}
|
|
|
|
// 关闭句柄
|
|
FindClose(hFindFile);
|
|
|
|
m_NumberDir = tmpDir.GetUpperBound() + 1;
|
|
|
|
tmpDir.Append(tmpFile);
|
|
|
|
m_FileNames.Append(tmpDir);
|
|
}
|
|
|
|
ShowFiles(0);
|
|
}
|
|
|
|
bool CMusicOpenFileDlg::IsAvailabFormat(CString strFileName)
|
|
{
|
|
strFileName.MakeLower();
|
|
|
|
int iStart = 1;
|
|
int iEnd = 12;
|
|
|
|
CString SupportFormat[13];
|
|
// 音乐文件
|
|
SupportFormat[1] = _T("mp3");
|
|
SupportFormat[2] = _T("wma");
|
|
SupportFormat[3] = _T("pcm");
|
|
SupportFormat[4] = _T("ima");
|
|
SupportFormat[5] = _T("mpa");
|
|
SupportFormat[6] = _T("mp2");
|
|
SupportFormat[7] = _T("wav");
|
|
SupportFormat[8] = _T("snd");
|
|
SupportFormat[9] = _T("au");
|
|
SupportFormat[10] = _T("aif");
|
|
SupportFormat[11] = _T("aiff");
|
|
SupportFormat[12] = _T("aifc");
|
|
CString FileExt;
|
|
FileExt.Empty();
|
|
// 文件名长度
|
|
int strLen = strFileName.GetLength() - 1;
|
|
|
|
for(int i = strLen; i >= 0; i--)
|
|
{
|
|
// 查找文件名中最好一个'.'
|
|
if(strFileName.GetAt(i) == '.')
|
|
{
|
|
// 提取文件扩展名
|
|
FileExt = strFileName.Right(strLen - i);
|
|
break;
|
|
}
|
|
}
|
|
|
|
// 判断扩展名是否符合要求
|
|
if(!FileExt.IsEmpty())
|
|
{
|
|
for(i = iStart; i <= iEnd; i++)
|
|
{
|
|
if(FileExt == SupportFormat[i])
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
void CMusicOpenFileDlg::ShowFiles(int iStart)
|
|
{
|
|
m_lab1.ShowIcon(false);
|
|
m_lab2.ShowIcon(false);
|
|
m_lab3.ShowIcon(false);
|
|
m_lab4.ShowIcon(false);
|
|
m_lab5.ShowIcon(false);
|
|
m_lab6.ShowIcon(false);
|
|
|
|
int totalFile = m_FileNames.GetUpperBound() + 1;
|
|
|
|
if (totalFile - m_NumberDir > 1)
|
|
{
|
|
m_butPlay.EnableWindow(TRUE);
|
|
}
|
|
else
|
|
{
|
|
m_butPlay.EnableWindow(FALSE);
|
|
}
|
|
|
|
if (iStart < totalFile)
|
|
{
|
|
if (totalFile - iStart >= 6)
|
|
{
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab1.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab1.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
m_lab1.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab2.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab2.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
m_lab2.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab3.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab3.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
m_lab3.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab4.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab4.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
m_lab4.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab5.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab5.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
m_lab5.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab6.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab6.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
|
|
m_lab6.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
m_CurrentPossion = iStart;
|
|
|
|
m_lab1.ShowIcon(true);
|
|
m_lab2.ShowIcon(true);
|
|
m_lab3.ShowIcon(true);
|
|
m_lab4.ShowIcon(true);
|
|
m_lab5.ShowIcon(true);
|
|
m_lab6.ShowIcon(true);
|
|
|
|
m_butDown.EnableWindow(TRUE);
|
|
|
|
if (m_CurrentPossion == totalFile)
|
|
{
|
|
m_butDown.EnableWindow(FALSE);
|
|
}
|
|
else
|
|
{
|
|
m_butDown.EnableWindow(TRUE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab1.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab1.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
m_lab1.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
m_lab1.ShowIcon(true);
|
|
|
|
if (iStart < totalFile)
|
|
{
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab2.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab2.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
m_lab2.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
m_lab2.ShowIcon(true);
|
|
}
|
|
|
|
if (iStart < totalFile)
|
|
{
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab3.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab3.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
m_lab3.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
m_lab3.ShowIcon(true);
|
|
}
|
|
|
|
if (iStart < totalFile)
|
|
{
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab4.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab4.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
m_lab4.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
m_lab4.ShowIcon(true);
|
|
}
|
|
|
|
if (iStart < totalFile)
|
|
{
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab5.LoadIcon(IDB_ICON_MUSICDIR,IDB_ICON_MUSICDIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab5.LoadIcon(IDB_ICON_MUSIC,IDB_ICON_MUSICD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
}
|
|
m_lab5.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
m_lab5.ShowIcon(true);
|
|
}
|
|
|
|
m_CurrentPossion = iStart;
|
|
m_butDown.EnableWindow(FALSE);
|
|
}
|
|
if (m_CurrentPossion - 6 > 0)
|
|
{
|
|
m_butUp.EnableWindow(TRUE);
|
|
}
|
|
else
|
|
{
|
|
m_butUp.EnableWindow(FALSE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
m_butUp.EnableWindow(FALSE);
|
|
m_butDown.EnableWindow(FALSE);
|
|
}
|
|
m_lab1.Invalidate();
|
|
m_lab2.Invalidate();
|
|
m_lab3.Invalidate();
|
|
m_lab4.Invalidate();
|
|
m_lab5.Invalidate();
|
|
m_lab6.Invalidate();
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButton1()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
CString sSearchFile = m_FilePath + L"\\" + m_lab1.GetButtonTitle();
|
|
|
|
WIN32_FIND_DATA fd; // 查找文件信息
|
|
// 查找文件
|
|
HANDLE hFindFile = FindFirstFile(sSearchFile,&fd);
|
|
|
|
if(hFindFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
if (fd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
|
|
{
|
|
m_FilePath = sSearchFile;
|
|
m_lab1.SetChecked(false);
|
|
ScanFile();
|
|
}
|
|
}
|
|
|
|
if (m_lab1.GetChecked())
|
|
{
|
|
m_butPlay.EnableWindow(TRUE);
|
|
}
|
|
else
|
|
{
|
|
m_butPlay.EnableWindow(FALSE);
|
|
}
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButton2()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
CString sSearchFile = m_FilePath + L"\\" + m_lab2.GetButtonTitle();
|
|
|
|
WIN32_FIND_DATA fd; // 查找文件信息
|
|
// 查找文件
|
|
HANDLE hFindFile = FindFirstFile(sSearchFile,&fd);
|
|
|
|
if(hFindFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
if (fd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
|
|
{
|
|
m_FilePath = sSearchFile;
|
|
m_lab2.SetChecked(false);
|
|
ScanFile();
|
|
}
|
|
}
|
|
|
|
if (m_lab2.GetChecked())
|
|
{
|
|
m_butPlay.EnableWindow(TRUE);
|
|
}
|
|
else
|
|
{
|
|
m_butPlay.EnableWindow(FALSE);
|
|
}
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButton3()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
CString sSearchFile = m_FilePath + L"\\" + m_lab3.GetButtonTitle();
|
|
|
|
WIN32_FIND_DATA fd; // 查找文件信息
|
|
// 查找文件
|
|
HANDLE hFindFile = FindFirstFile(sSearchFile,&fd);
|
|
|
|
if(hFindFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
if (fd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
|
|
{
|
|
m_FilePath = sSearchFile;
|
|
m_lab3.SetChecked(false);
|
|
ScanFile();
|
|
}
|
|
}
|
|
|
|
if (m_lab3.GetChecked())
|
|
{
|
|
m_butPlay.EnableWindow(TRUE);
|
|
}
|
|
else
|
|
{
|
|
m_butPlay.EnableWindow(FALSE);
|
|
}
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButton4()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
CString sSearchFile = m_FilePath + L"\\" + m_lab4.GetButtonTitle();
|
|
|
|
WIN32_FIND_DATA fd; // 查找文件信息
|
|
// 查找文件
|
|
HANDLE hFindFile = FindFirstFile(sSearchFile,&fd);
|
|
|
|
if(hFindFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
if (fd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
|
|
{
|
|
m_FilePath = sSearchFile;
|
|
m_lab4.SetChecked(false);
|
|
ScanFile();
|
|
}
|
|
}
|
|
|
|
if (m_lab4.GetChecked())
|
|
{
|
|
m_butPlay.EnableWindow(TRUE);
|
|
}
|
|
else
|
|
{
|
|
m_butPlay.EnableWindow(FALSE);
|
|
}
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButton5()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
CString sSearchFile = m_FilePath + L"\\" + m_lab5.GetButtonTitle();
|
|
|
|
WIN32_FIND_DATA fd; // 查找文件信息
|
|
// 查找文件
|
|
HANDLE hFindFile = FindFirstFile(sSearchFile,&fd);
|
|
|
|
if(hFindFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
if (fd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
|
|
{
|
|
m_FilePath = sSearchFile;
|
|
m_lab5.SetChecked(false);
|
|
ScanFile();
|
|
}
|
|
}
|
|
|
|
if (m_lab5.GetChecked())
|
|
{
|
|
m_butPlay.EnableWindow(TRUE);
|
|
}
|
|
else
|
|
{
|
|
m_butPlay.EnableWindow(FALSE);
|
|
}
|
|
}
|
|
|
|
void CMusicOpenFileDlg::OnButton6()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
CString sSearchFile = m_FilePath + L"\\" + m_lab6.GetButtonTitle();
|
|
|
|
WIN32_FIND_DATA fd; // 查找文件信息
|
|
// 查找文件
|
|
HANDLE hFindFile = FindFirstFile(sSearchFile,&fd);
|
|
|
|
if(hFindFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
if (fd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
|
|
{
|
|
m_FilePath = sSearchFile;
|
|
m_lab6.SetChecked(false);
|
|
ScanFile();
|
|
}
|
|
}
|
|
|
|
if (m_lab6.GetChecked())
|
|
{
|
|
m_butPlay.EnableWindow(TRUE);
|
|
}
|
|
else
|
|
{
|
|
m_butPlay.EnableWindow(FALSE);
|
|
}
|
|
}
|
|
|
|
CString CMusicOpenFileDlg::GetFilePath()
|
|
{
|
|
g_Playlist.m_FileList.RemoveAll();
|
|
g_Playlist.m_TotalFiles = m_FileNames.GetUpperBound() + 1;
|
|
g_Playlist.m_CurrentFile = 0;
|
|
g_Playlist.m_FileList.Append(m_FileNames);
|
|
g_Playlist.m_FilePath = m_FilePath + L"\\";
|
|
g_Playlist.InitSeed(g_Playlist.m_TotalFiles);
|
|
|
|
|
|
|
|
if (m_File.IsEmpty())
|
|
{
|
|
return L"";
|
|
}
|
|
else
|
|
{
|
|
return m_File;
|
|
}
|
|
}
|
|
|
|
void CMusicOpenFileDlg::SetWndTitle(CString sTitle)
|
|
{
|
|
m_TitleTxt = sTitle;
|
|
}
|