// StudioDoc.cpp : implementation of the CStudioDoc class // #include "stdafx.h" #include "Studio.h" #include "StudioDoc.h" #include "CntrItem.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CStudioDoc IMPLEMENT_DYNCREATE(CStudioDoc, COleDocument) BEGIN_MESSAGE_MAP(CStudioDoc, COleDocument) //{{AFX_MSG_MAP(CStudioDoc) // 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 // Enable default OLE container implementation ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE, COleDocument::OnUpdatePasteMenu) ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE_LINK, COleDocument::OnUpdatePasteLinkMenu) ON_UPDATE_COMMAND_UI(ID_OLE_EDIT_CONVERT, COleDocument::OnUpdateObjectVerbMenu) ON_COMMAND(ID_OLE_EDIT_CONVERT, COleDocument::OnEditConvert) ON_UPDATE_COMMAND_UI(ID_OLE_EDIT_LINKS, COleDocument::OnUpdateEditLinksMenu) ON_COMMAND(ID_OLE_EDIT_LINKS, COleDocument::OnEditLinks) ON_UPDATE_COMMAND_UI(ID_OLE_VERB_FIRST, COleDocument::OnUpdateObjectVerbMenu) END_MESSAGE_MAP() BEGIN_DISPATCH_MAP(CStudioDoc, COleDocument) //{{AFX_DISPATCH_MAP(CStudioDoc) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_DISPATCH_MAP END_DISPATCH_MAP() // Note: we add support for IID_IStudio to support typesafe binding // from VBA. This IID must match the GUID that is attached to the // dispinterface in the .ODL file. // {32AA4D14-9F38-11D1-850E-00C04FD7BB08} static const IID IID_IStudio = { 0x32aa4d14, 0x9f38, 0x11d1, { 0x85, 0xe, 0x0, 0xc0, 0x4f, 0xd7, 0xbb, 0x8 } }; BEGIN_INTERFACE_MAP(CStudioDoc, COleDocument) INTERFACE_PART(CStudioDoc, IID_IStudio, Dispatch) END_INTERFACE_MAP() ///////////////////////////////////////////////////////////////////////////// // CStudioDoc construction/destruction CStudioDoc::CStudioDoc() { // Use OLE compound files EnableCompoundFile(); // TODO: add one-time construction code here EnableAutomation(); AfxOleLockApp(); } CStudioDoc::~CStudioDoc() { AfxOleUnlockApp(); } BOOL CStudioDoc::OnNewDocument() { if (!COleDocument::OnNewDocument()) return FALSE; // TODO: add reinitialization code here // (SDI documents will reuse this document) return TRUE; } ///////////////////////////////////////////////////////////////////////////// // CStudioDoc serialization void CStudioDoc::Serialize(CArchive& ar) { if (ar.IsStoring()) { // TODO: add storing code here } else { // TODO: add loading code here } // Calling the base class COleDocument enables serialization // of the container document's COleClientItem objects. COleDocument::Serialize(ar); } ///////////////////////////////////////////////////////////////////////////// // CStudioDoc diagnostics #ifdef _DEBUG void CStudioDoc::AssertValid() const { COleDocument::AssertValid(); } void CStudioDoc::Dump(CDumpContext& dc) const { COleDocument::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CStudioDoc commands