// MSVC5OCRDoc.cpp : implementation of the CMSVC5OCRDoc class // #include "stdafx.h" #include "MSVC5OCR.h" #include "leadraster.h" #include "MSVC5OCRDoc.h" #include "MSVC5OCRView.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMSVC5OCRDoc IMPLEMENT_DYNCREATE(CMSVC5OCRDoc, CDocument) BEGIN_MESSAGE_MAP(CMSVC5OCRDoc, CDocument) //{{AFX_MSG_MAP(CMSVC5OCRDoc) // NOTE - the ClassWizard will add and remove mapping macros here. //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMSVC5OCRDoc construction/destruction CMSVC5OCRDoc::CMSVC5OCRDoc() { } CMSVC5OCRDoc::~CMSVC5OCRDoc() { } BOOL CMSVC5OCRDoc::OnNewDocument() { if (!CDocument::OnNewDocument()) return FALSE; CMSVC5OCRApp * pTheApp = (CMSVC5OCRApp *)AfxGetApp(); CMSVC5OCRView * pView = (CMSVC5OCRView *)GetView(); if (!pTheApp || !pView) return FALSE; pView->m_bShowPage = FALSE; if (pTheApp->m_pRaster) { if (pTheApp->m_nPageMode == NEW_PAGE_FROM_TWAIN) { if (pView->AddPage()) { // show the last acquired page int nPageCount = 0; nPageCount = pView->m_pLRasterDoc->PageCount; pView->m_nPageIndex = nPageCount - 1; pView->m_bShowPage = TRUE; pView->m_bClose = TRUE; pView->UpdateView(); } } } return TRUE; } ///////////////////////////////////////////////////////////////////////////// // CMSVC5OCRDoc serialization void CMSVC5OCRDoc::Serialize(CArchive& ar) { if (ar.IsStoring()) { } else { } } ///////////////////////////////////////////////////////////////////////////// // CMSVC5OCRDoc diagnostics #ifdef _DEBUG void CMSVC5OCRDoc::AssertValid() const { CDocument::AssertValid(); } void CMSVC5OCRDoc::Dump(CDumpContext& dc) const { CDocument::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMSVC5OCRDoc commands BOOL CMSVC5OCRDoc::OnOpenDocument(LPCTSTR lpszPathName) { if (!CDocument::OnOpenDocument(lpszPathName)) return FALSE; CMSVC5OCRApp * pTheApp = (CMSVC5OCRApp *)AfxGetApp(); CMSVC5OCRView * pView = (CMSVC5OCRView*)GetView(); if (!pTheApp || !pView) return FALSE; int nRet = pTheApp->m_pRasterIO->GetFileInfo(pTheApp->m_pRaster, (TCHAR *)lpszPathName, 0, 0);//long uFlags if (nRet != 0) return FALSE; pTheApp->m_pRasterIO->PutEnableMethodErrors (VARIANT_FALSE); if (pTheApp->m_pRaster) pTheApp->m_pRaster->Free(); nRet = pTheApp->m_pRasterIO->Load(pTheApp->m_pRaster,lpszPathName,0,pTheApp->m_nPageNum,-1); if (nRet == 0) { pView->m_nPageIndex = -1; pView->m_RasterView.GetRaster().SetBitmap(pTheApp->m_pRaster->Bitmap); pView->m_RasterView.SetEnableOCRDrawing(FALSE); pView->m_RasterView.ForceRepaint(); pView->m_bClose = TRUE; } return TRUE; } CView * CMSVC5OCRDoc::GetView() { POSITION pos = GetFirstViewPosition(); return GetNextView(pos); }