687 lines
16 KiB
C++
687 lines
16 KiB
C++
|
// OpenBookFileDlg.cpp : implementation file
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#include "ebook.h"
|
|||
|
#include "OpenBookFileDlg.h"
|
|||
|
|
|||
|
#ifdef _DEBUG
|
|||
|
#define new DEBUG_NEW
|
|||
|
#undef THIS_FILE
|
|||
|
static char THIS_FILE[] = __FILE__;
|
|||
|
#endif
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// COpenBookFileDlg dialog
|
|||
|
|
|||
|
|
|||
|
COpenBookFileDlg::COpenBookFileDlg(CWnd* pParent /*=NULL*/)
|
|||
|
: CDialog(COpenBookFileDlg::IDD, pParent)
|
|||
|
{
|
|||
|
//{{AFX_DATA_INIT(COpenBookFileDlg)
|
|||
|
// NOTE: the ClassWizard will add member initialization here
|
|||
|
//}}AFX_DATA_INIT
|
|||
|
|
|||
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ
|
|||
|
CBitmap tmpBmp;
|
|||
|
// <20><><EFBFBD><EFBFBD>Դ<EFBFBD>м<EFBFBD><D0BC>ر<EFBFBD><D8B1><EFBFBD>ͼƬ
|
|||
|
tmpBmp.LoadBitmap(IDB_FILEVIEW_WND);
|
|||
|
|
|||
|
m_BgDC.CreateCompatibleDC(NULL);
|
|||
|
m_BgDC.SelectObject(&tmpBmp);
|
|||
|
|
|||
|
tmpBmp.DeleteObject();
|
|||
|
|
|||
|
m_txtFont.CreateFont(12,0,0,0,FW_NORMAL,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,
|
|||
|
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,_T("Arial"));
|
|||
|
|
|||
|
m_NumberDir = 0; // <20><>ǰĿ¼<C4BF><C2BC>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>
|
|||
|
m_CurrentPossion = 0; // <20><>ǰλ<C7B0><CEBB>
|
|||
|
// <20><>Ŀ¼·<C2BC><C2B7>
|
|||
|
m_FilePath = L"\\Storage Card";
|
|||
|
m_File.Empty();
|
|||
|
}
|
|||
|
|
|||
|
COpenBookFileDlg::~COpenBookFileDlg()
|
|||
|
{
|
|||
|
m_BgDC.DeleteDC();
|
|||
|
m_txtFont.DeleteObject();
|
|||
|
m_FileNames.RemoveAll();
|
|||
|
m_FileNames.FreeExtra();
|
|||
|
}
|
|||
|
|
|||
|
void COpenBookFileDlg::DoDataExchange(CDataExchange* pDX)
|
|||
|
{
|
|||
|
CDialog::DoDataExchange(pDX);
|
|||
|
//{{AFX_DATA_MAP(COpenBookFileDlg)
|
|||
|
DDX_Control(pDX, IDC_BUTTON7, m_lab6);
|
|||
|
DDX_Control(pDX, IDC_BUTTON6, m_lab5);
|
|||
|
DDX_Control(pDX, IDC_BUTTON5, m_lab4);
|
|||
|
DDX_Control(pDX, IDC_BUTTON4, m_lab3);
|
|||
|
DDX_Control(pDX, IDC_BUTTON3, m_lab2);
|
|||
|
DDX_Control(pDX, IDC_BUTTON2, m_lab1);
|
|||
|
DDX_Control(pDX, IDC_BUTTON_OPEN, m_butOpen);
|
|||
|
DDX_Control(pDX, IDC_BUTTON_FILEUP, m_butUp);
|
|||
|
DDX_Control(pDX, IDC_BUTTON_FILEDOWN, m_butDown);
|
|||
|
DDX_Control(pDX, IDC_BUTTON_CLOSE, m_butClose);
|
|||
|
//}}AFX_DATA_MAP
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BEGIN_MESSAGE_MAP(COpenBookFileDlg, CDialog)
|
|||
|
//{{AFX_MSG_MAP(COpenBookFileDlg)
|
|||
|
ON_WM_PAINT()
|
|||
|
ON_WM_ERASEBKGND()
|
|||
|
ON_BN_CLICKED(IDC_BUTTON_CLOSE, OnButtonClose)
|
|||
|
ON_BN_CLICKED(IDC_BUTTON_FILEDOWN, OnButtonFiledown)
|
|||
|
ON_BN_CLICKED(IDC_BUTTON_FILEUP, OnButtonFileup)
|
|||
|
ON_BN_CLICKED(IDC_BUTTON_OPEN, OnButtonOpen)
|
|||
|
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_BN_CLICKED(IDC_BUTTON7, OnButton7)
|
|||
|
ON_WM_COPYDATA()
|
|||
|
//}}AFX_MSG_MAP
|
|||
|
END_MESSAGE_MAP()
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// COpenBookFileDlg message handlers
|
|||
|
|
|||
|
void COpenBookFileDlg::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
|
|||
|
}
|
|||
|
|
|||
|
BOOL COpenBookFileDlg::OnInitDialog()
|
|||
|
{
|
|||
|
CDialog::OnInitDialog();
|
|||
|
|
|||
|
// TODO: Add extra initialization here
|
|||
|
CenterWindow(this); // center to the hpc screen
|
|||
|
|
|||
|
// TODO: Add extra initialization here
|
|||
|
// <20><><EFBFBD>ô<EFBFBD><C3B4>ڴ<EFBFBD>С
|
|||
|
MoveWindow(0,0,320,240);
|
|||
|
|
|||
|
m_butClose.MoveWindow(283,7,25,25);
|
|||
|
m_butClose.LoadBitmaps(IDB_FILEVIEW_CLOSE,IDB_FILEVIEW_CLOSED);
|
|||
|
|
|||
|
m_butUp.MoveWindow(271,50,46,46);
|
|||
|
m_butUp.LoadBitmaps(IDB_FILEVIEW_UP,IDB_FILEVIEW_UPD,IDB_FILEVIEW_UPDIS);
|
|||
|
|
|||
|
m_butDown.MoveWindow(271,110,46,46);
|
|||
|
m_butDown.LoadBitmaps(IDB_FILEVIEW_DOWN,IDB_FILEVIEW_DOWND,IDB_FILEVIEW_DOWNDIS);
|
|||
|
|
|||
|
m_butOpen.MoveWindow(271,170,46,46);
|
|||
|
m_butOpen.LoadBitmaps(IDB_FILEVIEW_OPEN,IDB_FILEVIEW_OPEND);
|
|||
|
|
|||
|
m_lab1.MoveWindow(24,51,60,80);
|
|||
|
m_lab1.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
m_lab2.MoveWindow(107,51,60,80);
|
|||
|
m_lab2.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
m_lab3.MoveWindow(189,51,60,80);
|
|||
|
m_lab3.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
m_lab4.MoveWindow(24,134,60,80);
|
|||
|
m_lab4.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
m_lab5.MoveWindow(107,134,60,80);
|
|||
|
m_lab5.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
m_lab6.MoveWindow(189,134,60,80);
|
|||
|
m_lab6.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,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 COpenBookFileDlg::OnEraseBkgnd(CDC* pDC)
|
|||
|
{
|
|||
|
// TODO: Add your message handler code here and/or call default
|
|||
|
return FALSE;
|
|||
|
//return CDialog::OnEraseBkgnd(pDC);
|
|||
|
}
|
|||
|
|
|||
|
void COpenBookFileDlg::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; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
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);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// <20>رվ<D8B1><D5BE><EFBFBD>
|
|||
|
FindClose(hFindFile);
|
|||
|
|
|||
|
m_NumberDir = tmpDir.GetUpperBound() + 1;
|
|||
|
|
|||
|
tmpDir.Append(tmpFile);
|
|||
|
|
|||
|
m_FileNames.Append(tmpDir);
|
|||
|
}
|
|||
|
InvalidateRect(CRect(43,4,320,32));
|
|||
|
ShowFiles(0);
|
|||
|
}
|
|||
|
|
|||
|
bool COpenBookFileDlg::IsAvailabFormat(CString strFileName)
|
|||
|
{
|
|||
|
strFileName.MakeLower();
|
|||
|
|
|||
|
CString FileExt;
|
|||
|
FileExt.Empty();
|
|||
|
// <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int strLen = strFileName.GetLength() - 1;
|
|||
|
|
|||
|
for(int i = strLen; i >= 0; i--)
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>'.'
|
|||
|
if(strFileName.GetAt(i) == '.')
|
|||
|
{
|
|||
|
// <20><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>չ<EFBFBD><D5B9>
|
|||
|
FileExt = strFileName.Right(strLen - i);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// <20>ж<EFBFBD><D0B6><EFBFBD>չ<EFBFBD><D5B9><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>
|
|||
|
if(!FileExt.IsEmpty())
|
|||
|
{
|
|||
|
if(FileExt == L"txt")
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void COpenBookFileDlg::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_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab1.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
m_lab1.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|||
|
iStart++;
|
|||
|
|
|||
|
if (iStart < m_NumberDir)
|
|||
|
{
|
|||
|
m_lab2.LoadIcon(IDB_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab2.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
m_lab2.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|||
|
iStart++;
|
|||
|
|
|||
|
if (iStart < m_NumberDir)
|
|||
|
{
|
|||
|
m_lab3.LoadIcon(IDB_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab3.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
m_lab3.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|||
|
iStart++;
|
|||
|
|
|||
|
if (iStart < m_NumberDir)
|
|||
|
{
|
|||
|
m_lab4.LoadIcon(IDB_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab4.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
m_lab4.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|||
|
iStart++;
|
|||
|
|
|||
|
if (iStart < m_NumberDir)
|
|||
|
{
|
|||
|
m_lab5.LoadIcon(IDB_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab5.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
m_lab5.SetButtonTitle(m_FileNames.GetAt(iStart));
|
|||
|
iStart++;
|
|||
|
|
|||
|
if (iStart < m_NumberDir)
|
|||
|
{
|
|||
|
m_lab6.LoadIcon(IDB_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab6.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,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_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab1.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,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_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab2.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,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_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab3.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,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_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab4.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,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_EBOOK_DIR,IDB_EBOOK_DIRD,IDB_FILEVIEW_WND,RGB(0,0,0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lab5.LoadIcon(IDB_EBOOK_FILE,IDB_EBOOK_FILED,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 COpenBookFileDlg::OnButtonClose()
|
|||
|
{
|
|||
|
// TODO: Add your control notification handler code here
|
|||
|
EndDialog(IDCANCEL);
|
|||
|
}
|
|||
|
|
|||
|
void COpenBookFileDlg::OnButtonFiledown()
|
|||
|
{
|
|||
|
// TODO: Add your control notification handler code here
|
|||
|
ShowFiles(m_CurrentPossion);
|
|||
|
}
|
|||
|
|
|||
|
void COpenBookFileDlg::OnButtonFileup()
|
|||
|
{
|
|||
|
// 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 COpenBookFileDlg::OnButtonOpen()
|
|||
|
{
|
|||
|
// 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();
|
|||
|
// <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int strLen = strFileName.GetLength() - 1;
|
|||
|
|
|||
|
for(int i = strLen; i >= 0; i--)
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>'.'
|
|||
|
if(strFileName.GetAt(i) == '\\')
|
|||
|
{
|
|||
|
// <20><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>չ<EFBFBD><D5B9>
|
|||
|
FileExt = strFileName.Left(i);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
m_FilePath = FileExt;
|
|||
|
ScanFile();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void COpenBookFileDlg::OnButton2()
|
|||
|
{
|
|||
|
// TODO: Add your control notification handler code here
|
|||
|
CString sSearchFile = m_FilePath + L"\\" + m_lab1.GetButtonTitle();
|
|||
|
|
|||
|
WIN32_FIND_DATA fd; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
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 COpenBookFileDlg::OnButton3()
|
|||
|
{
|
|||
|
// TODO: Add your control notification handler code here
|
|||
|
CString sSearchFile = m_FilePath + L"\\" + m_lab2.GetButtonTitle();
|
|||
|
|
|||
|
WIN32_FIND_DATA fd; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
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 COpenBookFileDlg::OnButton4()
|
|||
|
{
|
|||
|
// TODO: Add your control notification handler code here
|
|||
|
CString sSearchFile = m_FilePath + L"\\" + m_lab3.GetButtonTitle();
|
|||
|
|
|||
|
WIN32_FIND_DATA fd; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
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 COpenBookFileDlg::OnButton5()
|
|||
|
{
|
|||
|
// TODO: Add your control notification handler code here
|
|||
|
CString sSearchFile = m_FilePath + L"\\" + m_lab4.GetButtonTitle();
|
|||
|
|
|||
|
WIN32_FIND_DATA fd; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
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 COpenBookFileDlg::OnButton6()
|
|||
|
{
|
|||
|
// TODO: Add your control notification handler code here
|
|||
|
CString sSearchFile = m_FilePath + L"\\" + m_lab5.GetButtonTitle();
|
|||
|
|
|||
|
WIN32_FIND_DATA fd; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
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 COpenBookFileDlg::OnButton7()
|
|||
|
{
|
|||
|
// TODO: Add your control notification handler code here
|
|||
|
CString sSearchFile = m_FilePath + L"\\" + m_lab6.GetButtonTitle();
|
|||
|
|
|||
|
WIN32_FIND_DATA fd; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
HANDLE hFindFile = FindFirstFile(sSearchFile,&fd);
|
|||
|
|
|||
|
if(hFindFile != INVALID_HANDLE_VALUE)
|
|||
|
{
|
|||
|
if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
|||
|
{
|
|||
|
m_FilePath = sSearchFile;
|
|||
|
m_lab6.SetChecked(false);
|
|||
|
ScanFile();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
BOOL COpenBookFileDlg::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; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
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);
|
|||
|
}
|
|||
|
|
|||
|
CString COpenBookFileDlg::GetFilePath()
|
|||
|
{
|
|||
|
if (m_File.IsEmpty())
|
|||
|
{
|
|||
|
return L"";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return m_File;
|
|||
|
}
|
|||
|
}
|