// ExpPages.cpp : implementation file // #include "stdafx.h" #include "ocrutil.h" #include "ExpPages.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CExportPages dialog CExportPages::CExportPages(L_INT nPageCount, CWnd* pParent /*=NULL*/) : CDialog(CExportPages::IDD, pParent) { //{{AFX_DATA_INIT(CExportPages) m_bExportAll = FALSE; m_csFileName = _T(""); m_nPageNumber = 1; //}}AFX_DATA_INIT m_nPageCount = nPageCount; memset(&m_FSParm, 0, sizeof(SAVEDLGPARAMS)); m_FSParm.uStructSize = sizeof(SAVEDLGPARAMS); } void CExportPages::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CExportPages) DDX_Control(pDX, IDOK, m_btnOK); DDX_Control(pDX, IDC_EDIT_EXP_PAGE_NUMBER, m_edtPageNumber); DDX_Control(pDX, IDC_EDIT_EXP_FILE_NAME, m_edtFileName); DDX_Check(pDX, IDC_CHECK_EXPORT_ALL, m_bExportAll); DDX_Text(pDX, IDC_EDIT_EXP_FILE_NAME, m_csFileName); DDX_Text(pDX, IDC_EDIT_EXP_PAGE_NUMBER, m_nPageNumber); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CExportPages, CDialog) //{{AFX_MSG_MAP(CExportPages) ON_BN_CLICKED(IDC_EXP_BROWSE, OnExpBrowse) ON_EN_CHANGE(IDC_EDIT_EXP_FILE_NAME, OnChangeEditExpFileName) ON_EN_CHANGE(IDC_EDIT_EXP_PAGE_NUMBER, OnChangeEditExpPageNumber) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CExportPages message handlers void CExportPages::OnExpBrowse() { OPENFILENAME OpenFileName; L_TCHAR szFileName[_MAX_PATH]=TEXT(""); memset(&OpenFileName,0,sizeof(OPENFILENAME)); OpenFileName.lStructSize = sizeof(OPENFILENAME); OpenFileName.lpstrInitialDir = NULL; OpenFileName.lpstrTitle = TEXT("Save a File"); OpenFileName.lpstrFile = szFileName; OpenFileName.nMaxFile = sizeof(szFileName)/sizeof(L_TCHAR); OpenFileName.lpstrFileTitle = m_FSParm.szFileName; OpenFileName.nMaxFileTitle = sizeof(m_FSParm.szFileName)/sizeof(L_TCHAR); OpenFileName.nFileOffset = 0; OpenFileName.Flags = 0; m_FSParm.uStructSize = sizeof(SAVEDLGPARAMS); m_FSParm.nQFactor = 2; m_FSParm.uDlgFlags = DLG_SAVE_SHOW_FILEOPTIONS_MULTIPAGE | DLG_SAVE_SHOW_FILEOPTIONS_PROGRESSIVE | DLG_SAVE_SHOW_FILEOPTIONS_QFACTOR | DLG_SAVE_SHOW_FILEOPTIONS_STAMP | DLG_SAVE_SHOW_FILEOPTIONS_J2KOPTIONS | DLG_SAVE_SHOW_FILEOPTIONS_BASICJ2KOPTIONS; L_INT nRet = L_DlgSave(m_hWnd, &OpenFileName, &m_FSParm); if (nRet == SUCCESS_DLG_OK) m_edtFileName.SetWindowText(m_FSParm.szFileName); } BOOL CExportPages::OnInitDialog() { CDialog::OnInitDialog(); m_edtPageNumber.SetWindowText(TEXT("1")); m_edtFileName.SetWindowText(TEXT("")); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CExportPages::CheckOkButton() { CString csIndex, csFileName; m_edtPageNumber.GetWindowText(csIndex); m_edtFileName.GetWindowText(csFileName); L_BOOL bOK = (!csIndex.IsEmpty() && !csFileName.IsEmpty()); if (bOK && !csIndex.IsEmpty()) { int nPage = _ttoi(csIndex); bOK = (nPage <= m_nPageCount && nPage >= 1); } m_btnOK.EnableWindow(bOK); } void CExportPages::OnChangeEditExpFileName() { CheckOkButton(); } void CExportPages::OnChangeEditExpPageNumber() { CheckOkButton(); }