| // ReaderVCDoc.cpp : implementation of the CReaderVCDoc class | |
| // | |
| #include "stdafx.h" | |
| #include "ReaderVC.h" | |
| #include "MainFrm.h" | |
| #include "ChildFrm.h" | |
| #include "ReaderVCDoc.h" | |
| #include "ReaderVCView.h" | |
| #ifdef _DEBUG | |
| #define new DEBUG_NEW | |
| #undef THIS_FILE | |
| static char THIS_FILE[] = __FILE__; | |
| #endif | |
| ///////////////////////////////////////////////////////////////////////////// | |
| // CReaderVCDoc | |
| IMPLEMENT_DYNCREATE(CReaderVCDoc, CDocument) | |
| BEGIN_MESSAGE_MAP(CReaderVCDoc, CDocument) | |
| //{{AFX_MSG_MAP(CReaderVCDoc) | |
| // NOTE - the ClassWizard will add and remove mapping macros here. | |
| // DO NOT EDIT what you see in these blocks of generated code! | |
| //}}AFX_MSG_MAP | |
| END_MESSAGE_MAP() | |
| ///////////////////////////////////////////////////////////////////////////// | |
| // CReaderVCDoc construction/destruction | |
| CReaderVCDoc::CReaderVCDoc() | |
| { | |
| // TODO: add one-time construction code here | |
| } | |
| CReaderVCDoc::~CReaderVCDoc() | |
| { | |
| } | |
| BOOL CReaderVCDoc::OnNewDocument() | |
| { | |
| if (!CDocument::OnNewDocument()) | |
| return FALSE; | |
| // TODO: add reinitialization code here | |
| // (SDI documents will reuse this document) | |
| return TRUE; | |
| } | |
| ///////////////////////////////////////////////////////////////////////////// | |
| // CReaderVCDoc serialization | |
| void CReaderVCDoc::Serialize(CArchive& ar) | |
| { | |
| if (ar.IsStoring()) | |
| { | |
| // TODO: add storing code here | |
| } | |
| else | |
| { | |
| // TODO: add loading code here | |
| } | |
| } | |
| ///////////////////////////////////////////////////////////////////////////// | |
| // CReaderVCDoc diagnostics | |
| #ifdef _DEBUG | |
| void CReaderVCDoc::AssertValid() const | |
| { | |
| CDocument::AssertValid(); | |
| } | |
| void CReaderVCDoc::Dump(CDumpContext& dc) const | |
| { | |
| CDocument::Dump(dc); | |
| } | |
| #endif //_DEBUG | |
| ///////////////////////////////////////////////////////////////////////////// | |
| // CReaderVCDoc commands | |
| BOOL CReaderVCDoc::OnOpenDocument(LPCTSTR lpszPathName) | |
| { | |
| if (!CDocument::OnOpenDocument(lpszPathName)) | |
| return FALSE; | |
| // TODO: Add your specialized creation code here | |
| void* pDoc = FPDF_LoadDocument(lpszPathName, NULL); | |
| m_strPDFName=lpszPathName; | |
| if(NULL == pDoc) return FALSE; | |
| POSITION pos = GetFirstViewPosition(); | |
| int nCount = FPDF_GetPageCount(pDoc); | |
| while (pos != NULL) | |
| { | |
| CView* pView = GetNextView(pos); | |
| if(pView->IsKindOf(RUNTIME_CLASS(CReaderVCView))) | |
| { | |
| CMainFrame* pMFrm = (CMainFrame*)AfxGetMainWnd(); | |
| CChildFrame* pChildFrm =(CChildFrame*) pMFrm->GetActiveFrame(); | |
| pChildFrm->SetActiveView(pView, TRUE); | |
| // FPDFApp_SetDocument(((CReaderVCView*)pView)->GetFPDFApp(), (FPDF_DOCUMENT)pDoc); | |
| ((CReaderVCView*)pView)->SetPDFDocument(pDoc, nCount); | |
| } | |
| } | |
| return TRUE; | |
| } |