⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 picturestreamdoc.cpp

📁 一个图像复合文档高级编程的程序
💻 CPP
字号:
// PictureStreamDoc.cpp : implementation of the CPictureStreamDoc class
//

#include "stdafx.h"
#include "PictureStream.h"

#include "PictureStreamDoc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPictureStreamDoc

IMPLEMENT_DYNCREATE(CPictureStreamDoc, COleDocument)

BEGIN_MESSAGE_MAP(CPictureStreamDoc, COleDocument)
	//{{AFX_MSG_MAP(CPictureStreamDoc)
	ON_COMMAND(ID_PICTURE_ADD, OnPictureAdd)
	ON_UPDATE_COMMAND_UI(ID_PICTURE_ADD, OnUpdatePictureAdd)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPictureStreamDoc construction/destruction

CPictureStreamDoc::CPictureStreamDoc()
{
	EnableCompoundFile();
}

CPictureStreamDoc::~CPictureStreamDoc()
{
}

BOOL CPictureStreamDoc::OnNewDocument()
{
	CString strFile("res/Default.p2f");
	CFileStatus status;
	if(!CFile::GetStatus(strFile,status))
	{
		if (!COleDocument::OnNewDocument())
			return FALSE;
		return TRUE;
	}
	else
	{
		return OnOpenDocument(strFile);
	}
}



/////////////////////////////////////////////////////////////////////////////
// CPictureStreamDoc serialization

void CPictureStreamDoc::Serialize(CArchive& ar)
{
	CWaitCursor wait;
	COleDocument::Serialize(ar);
	if (ar.IsStoring())
	{
		m_objects.WriteToStorage(m_lpRootStg); 
	}
	else
	{
		m_objects.ReadFromStorage(m_lpRootStg); 
		m_objects.DeselectAll();
	}
}

/////////////////////////////////////////////////////////////////////////////
// CPictureStreamDoc diagnostics

#ifdef _DEBUG
void CPictureStreamDoc::AssertValid() const
{
	COleDocument::AssertValid();
}

void CPictureStreamDoc::Dump(CDumpContext& dc) const
{
	COleDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CPictureStreamDoc commands

void CPictureStreamDoc::OnPictureAdd() 
{
	CPictureObj* pObj = new CPictureObj;
	if(!pObj->CreateFromFile(CPoint(10,10)))
	{
		delete pObj;
		return;
	}
	m_objects.AddHead(pObj);
	SetModifiedFlag(TRUE);
	UpdateAllViews(NULL,HINT_UPDATE_WINDOW);
}


void CPictureStreamDoc::OnUpdatePictureAdd(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(true);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -