// PaintEffectDoc.cpp : implementation of the CPaintEffectDoc class // #include "stdafx.h" #include "PEffect.h" #include "PEffDoc.h" #include "PEView.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CPaintEffectDoc IMPLEMENT_DYNCREATE(CPaintEffectDoc, CDocument) BEGIN_MESSAGE_MAP(CPaintEffectDoc, CDocument) //{{AFX_MSG_MAP(CPaintEffectDoc) ON_COMMAND(ID_FILE_OPEN, OnFileOpen) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPaintEffectDoc construction/destruction CPaintEffectDoc::CPaintEffectDoc() { // TODO: add one-time construction code here } CPaintEffectDoc::~CPaintEffectDoc() { } BOOL CPaintEffectDoc::OnNewDocument() { if (!CDocument::OnNewDocument()) return FALSE; // TODO: add reinitialization code here // (SDI documents will reuse this document) return TRUE; } ///////////////////////////////////////////////////////////////////////////// // CPaintEffectDoc serialization void CPaintEffectDoc::Serialize(CArchive& ar) { if (ar.IsStoring()) { // TODO: add storing code here } else { // TODO: add loading code here } } ///////////////////////////////////////////////////////////////////////////// // CPaintEffectDoc diagnostics #ifdef _DEBUG void CPaintEffectDoc::AssertValid() const { CDocument::AssertValid(); } void CPaintEffectDoc::Dump(CDumpContext& dc) const { CDocument::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CPaintEffectDoc commands BOOL CPaintEffectDoc::OnOpenDocument(LPCTSTR lpszPathName) { if (!CDocument::OnOpenDocument(lpszPathName)) return FALSE; return TRUE; } CView * CPaintEffectDoc::GetView() { POSITION pos = GetFirstViewPosition(); return(GetNextView(pos)); } void CPaintEffectDoc::OnFileOpen() { CPEView* pView = (CPEView*) GetView(); if(pView!=NULL) { LBitmapBase tmpBmp ; OPENDLGPARAMS FOParm ; OPENFILENAME OpenFileName; memset ( &FOParm, 0, sizeof(OPENDLGPARAMS)) ; memset ( &OpenFileName, 0, sizeof(OPENFILENAME)) ; OpenFileName.lStructSize = sizeof(OPENFILENAME); OpenFileName.lpstrInitialDir = NULL; OpenFileName.Flags = OFN_EXPLORER; FOParm.uStructSize = sizeof(OPENDLGPARAMS); FOParm.uDlgFlags = DLG_OPEN_SHOW_PROGRESSIVE | DLG_OPEN_SHOW_MULTIPAGE | DLG_OPEN_SHOW_LOADROTATED | DLG_OPEN_SHOW_LOADCOMPRESSED | DLG_OPEN_SHOW_FILEINFO | DLG_OPEN_SHOW_DELPAGE | DLG_OPEN_SHOW_LOADOPTIONS | DLG_OPEN_VIEWTOTALPAGES ; tmpBmp.DialogFile()->SetOpenParams(&FOParm) ; tmpBmp.DialogFile()->SetOpenFileName(&OpenFileName) ; tmpBmp.DialogFile()->EnablePreview(TRUE); L_BOOL bOldState = tmpBmp.DialogFile()->EnableAutoProcess(TRUE); L_INT nRet = tmpBmp.DialogFile()->DoModalOpen(pView->GetSafeHwnd()); if(nRet==SUCCESS_DLG_CANCEL) return ; if(nRet != SUCCESS_DLG_OK) { LBase::DisplayErrorList(NULL,nRet); return ; } pView->m_LBitmapWnd.SetHandle(tmpBmp.GetHandle()); if(m_CMenu.m_hMenu==NULL ) { m_CMenu.LoadMenu(IDR_MAINFRAME); AfxGetMainWnd()->SetMenu(&m_CMenu); } CPaintEffectApp* theApp = (CPaintEffectApp*) AfxGetApp(); theApp->OpenDocumentFile(pView->m_LBitmapWnd.File()->GetFileName()); } return ; }