722 lines
18 KiB
C++
Executable File
722 lines
18 KiB
C++
Executable File
// OpenImageFileDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "imageviewer.h"
|
|
#include "OpenImageFileDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COpenImageFileDlg dialog
|
|
|
|
|
|
COpenImageFileDlg::COpenImageFileDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(COpenImageFileDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(COpenImageFileDlg)
|
|
// NOTE: the ClassWizard will add member initialization here
|
|
//}}AFX_DATA_INIT
|
|
// 初始化背景画刷
|
|
CBitmap tmpBmp;
|
|
// 从资源中加载背景图片
|
|
tmpBmp.LoadBitmap(IDB_FILEVIEW_WND);
|
|
|
|
m_BgDC.CreateCompatibleDC(NULL);
|
|
m_BgDC.SelectObject(&tmpBmp);
|
|
|
|
tmpBmp.DeleteObject();
|
|
|
|
m_txtFont.CreateFont(12,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();
|
|
}
|
|
|
|
COpenImageFileDlg::~COpenImageFileDlg()
|
|
{
|
|
m_BgDC.DeleteDC();
|
|
m_txtFont.DeleteObject();
|
|
}
|
|
|
|
void COpenImageFileDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(COpenImageFileDlg)
|
|
DDX_Control(pDX, IDC_BUTTON_UP, m_butUp);
|
|
DDX_Control(pDX, IDC_BUTTON_PLAY, m_butPlay);
|
|
DDX_Control(pDX, IDC_BUTTON_FILEBACK, m_butBack);
|
|
DDX_Control(pDX, IDC_BUTTON_EXIT, m_butExit);
|
|
DDX_Control(pDX, IDC_BUTTON_Down, m_butDown);
|
|
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);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(COpenImageFileDlg, CDialog)
|
|
//{{AFX_MSG_MAP(COpenImageFileDlg)
|
|
ON_WM_ERASEBKGND()
|
|
ON_WM_PAINT()
|
|
ON_BN_CLICKED(IDC_BUTTON_Down, OnBUTTONDown)
|
|
ON_BN_CLICKED(IDC_BUTTON_EXIT, OnButtonExit)
|
|
ON_BN_CLICKED(IDC_BUTTON_FILEBACK, OnButtonFileback)
|
|
ON_BN_CLICKED(IDC_BUTTON_PLAY, OnButtonPlay)
|
|
ON_BN_CLICKED(IDC_BUTTON_UP, OnButtonUp)
|
|
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)
|
|
ON_WM_COPYDATA()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COpenImageFileDlg message handlers
|
|
|
|
BOOL COpenImageFileDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
// 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,IDB_FILEVIEW_UPDIS);
|
|
m_butUp.EnableWindow(FALSE);
|
|
|
|
m_butDown.MoveWindow(271,87,46,46);
|
|
m_butDown.LoadBitmaps(IDB_FILEVIEW_DOWN,IDB_FILEVIEW_DOWND,IDB_FILEVIEW_DOWNDIS);
|
|
m_butDown.EnableWindow(FALSE);
|
|
|
|
m_butBack.MoveWindow(271,137,46,46);
|
|
m_butBack.LoadBitmaps(IDB_FILEVIEW_BACK,IDB_FILEVIEW_BACKD,IDB_FILEVIEW_BACKDIS);
|
|
|
|
m_butPlay.MoveWindow(271,187,46,46);
|
|
m_butPlay.LoadBitmaps(IDB_FILEVIEW_PLAY,IDB_FILEVIEW_PLAYD,IDB_FILEVIEW_PLAYDIS);
|
|
m_butPlay.EnableWindow(FALSE);
|
|
|
|
m_lab1.MoveWindow(24,51,60,80);
|
|
m_lab1.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
m_lab2.MoveWindow(107,51,60,80);
|
|
m_lab2.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
m_lab3.MoveWindow(189,51,60,80);
|
|
m_lab3.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
m_lab4.MoveWindow(24,134,60,80);
|
|
m_lab4.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
m_lab5.MoveWindow(107,134,60,80);
|
|
m_lab5.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|
m_lab6.MoveWindow(189,134,60,80);
|
|
m_lab6.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,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 COpenImageFileDlg::OnEraseBkgnd(CDC* pDC)
|
|
{
|
|
// TODO: Add your message handler code here and/or call default
|
|
return TRUE;
|
|
//return CDialog::OnEraseBkgnd(pDC);
|
|
}
|
|
|
|
void COpenImageFileDlg::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_FilePath,CRect(43,4,320,32),DT_LEFT|DT_VCENTER);
|
|
// Do not call CDialog::OnPaint() for painting messages
|
|
}
|
|
|
|
void COpenImageFileDlg::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);
|
|
|
|
if (tmpFile.GetUpperBound() >= 1)
|
|
{
|
|
m_butPlay.EnableWindow(TRUE);
|
|
}
|
|
else
|
|
{
|
|
m_butPlay.EnableWindow(FALSE);
|
|
}
|
|
|
|
m_NumberDir = tmpDir.GetUpperBound() + 1;
|
|
|
|
tmpDir.Append(tmpFile);
|
|
|
|
m_FileNames.Append(tmpDir);
|
|
}
|
|
InvalidateRect(CRect(43,4,320,32));
|
|
ShowFiles(0);
|
|
}
|
|
|
|
bool COpenImageFileDlg::IsAvailabFormat(CString strFileName)
|
|
{
|
|
strFileName.MakeLower();
|
|
|
|
int iStart = 0;
|
|
int iEnd = 2;
|
|
|
|
CString SupportFormat[3];
|
|
// 音乐文件
|
|
SupportFormat[0] = _T("bmp");
|
|
SupportFormat[1] = _T("jpg");
|
|
SupportFormat[2] = _T("jpeg");
|
|
|
|
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 COpenImageFileDlg::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 (iStart < totalFile)
|
|
{
|
|
if (totalFile - iStart >= 6)
|
|
{
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab1.LoadIcon(IDB_ICON_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab1.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
m_lab1.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab2.LoadIcon(IDB_ICON_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab2.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
m_lab2.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab3.LoadIcon(IDB_ICON_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab3.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
m_lab3.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab4.LoadIcon(IDB_ICON_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab4.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
m_lab4.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab5.LoadIcon(IDB_ICON_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab5.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
m_lab5.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|
iStart++;
|
|
|
|
if (iStart < m_NumberDir)
|
|
{
|
|
m_lab6.LoadIcon(IDB_ICON_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab6.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,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_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab1.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,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_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab2.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,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_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab3.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,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_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab4.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,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_IMAGEDIR,IDB_ICON_IMAGEDIRD,IDB_FILEVIEW_WND,RGB(255,0,0));
|
|
}
|
|
else
|
|
{
|
|
m_lab5.LoadIcon(IDB_ICON_IMAGE,IDB_ICON_IMAGED,IDB_FILEVIEW_WND,RGB(255,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 COpenImageFileDlg::OnBUTTONDown()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
ShowFiles(m_CurrentPossion);
|
|
}
|
|
|
|
void COpenImageFileDlg::OnButtonExit()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
EndDialog(IDCANCEL);
|
|
}
|
|
|
|
void COpenImageFileDlg::OnButtonFileback()
|
|
{
|
|
// 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 COpenImageFileDlg::OnButtonPlay()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
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"\\";
|
|
|
|
EndDialog(IDOK);
|
|
}
|
|
|
|
void COpenImageFileDlg::OnButtonUp()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
int tmpPossion = 0;
|
|
|
|
int tmp = m_FileNames.GetUpperBound();
|
|
|
|
if (m_CurrentPossion - 12 > 0)
|
|
{
|
|
if (m_CurrentPossion == m_FileNames.GetUpperBound() + 1)
|
|
{
|
|
tmp = (m_FileNames.GetUpperBound() + 1) % 6;
|
|
tmpPossion = m_CurrentPossion - ((m_FileNames.GetUpperBound() + 1) % 6) - 6;
|
|
}
|
|
else
|
|
{
|
|
tmpPossion = m_CurrentPossion - 12;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
tmpPossion = 0;
|
|
}
|
|
|
|
ShowFiles(tmpPossion);
|
|
}
|
|
|
|
void COpenImageFileDlg::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();
|
|
}
|
|
}
|
|
}
|
|
|
|
void COpenImageFileDlg::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();
|
|
}
|
|
}
|
|
}
|
|
|
|
void COpenImageFileDlg::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();
|
|
}
|
|
}
|
|
}
|
|
|
|
void COpenImageFileDlg::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();
|
|
}
|
|
}
|
|
}
|
|
|
|
void COpenImageFileDlg::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();
|
|
}
|
|
}
|
|
}
|
|
|
|
void COpenImageFileDlg::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();
|
|
}
|
|
}
|
|
}
|
|
|
|
CString COpenImageFileDlg::GetFilePath()
|
|
{
|
|
if (m_File.IsEmpty())
|
|
{
|
|
g_Playlist.m_FileList.RemoveAll();
|
|
g_Playlist.m_TotalFiles = 0;
|
|
return L"";
|
|
}
|
|
else
|
|
{
|
|
g_Playlist.m_FileList.RemoveAll();
|
|
g_Playlist.m_TotalFiles = 1;
|
|
return m_File;
|
|
}
|
|
}
|
|
|
|
BOOL COpenImageFileDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
|
|
{
|
|
// TODO: Add your message handler code here and/or call default
|
|
CString strTitle = *((CString*)(pCopyDataStruct->lpData));
|
|
|
|
CString sSearchFile = m_FilePath + L"\\" + strTitle;
|
|
|
|
WIN32_FIND_DATA fd; // 查找文件信息
|
|
// 查找文件
|
|
HANDLE hFindFile = FindFirstFile(sSearchFile,&fd);
|
|
|
|
if(hFindFile != INVALID_HANDLE_VALUE)
|
|
{
|
|
if (!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
|
|
{
|
|
m_File= sSearchFile;
|
|
EndDialog(IDOK);
|
|
}
|
|
}
|
|
|
|
return CDialog::OnCopyData(pWnd, pCopyDataStruct);
|
|
}
|