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

📄 richdoc.cpp

📁 这些源代码
💻 CPP
字号:
// RichDoc.cpp : implementation of the CRichDoc class
//

#include "stdafx.h"
#include "Rich.h"

#include "RichDoc.h"
#include "CntrItem.h"
#include	"HistoryDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CRichDoc

IMPLEMENT_DYNCREATE(CRichDoc, CRichEditDoc)

BEGIN_MESSAGE_MAP(CRichDoc, CRichEditDoc)
	//{{AFX_MSG_MAP(CRichDoc)
	ON_COMMAND(ID_VIEW_HISTORY, OnViewHistory)
	//}}AFX_MSG_MAP
	// Enable default OLE container implementation
	ON_UPDATE_COMMAND_UI(ID_OLE_EDIT_LINKS, CRichEditDoc::OnUpdateEditLinksMenu)
	ON_COMMAND(ID_OLE_EDIT_LINKS, CRichEditDoc::OnEditLinks)
	ON_UPDATE_COMMAND_UI_RANGE(ID_OLE_VERB_FIRST, ID_OLE_VERB_LAST, CRichEditDoc::OnUpdateObjectVerbMenu)
END_MESSAGE_MAP()

//If you want truly to understand something, try to change it.
// kurt lewin

/////////////////////////////////////////////////////////////////////////////
// CRichDoc construction/destruction

CRichDoc::CRichDoc()
{
	// Use OLE compound files
	EnableCompoundFile(FALSE);
	// TODO: add one-time construction code here

}

CRichDoc::~CRichDoc()
{
}

BOOL CRichDoc::OnNewDocument()
{
	if (!CRichEditDoc::OnNewDocument())
		return FALSE;

	m_FileHistory.m_CreatedTime = 0;
	m_FileHistory.m_CreatedBy = _T("");
	m_FileHistory.m_History.RemoveAll ();
	return TRUE;
}

CRichEditCntrItem* CRichDoc::CreateClientItem(REOBJECT* preo) const
{
	// cast away constness of this
	return new CRichCntrItem(preo, (CRichDoc*) this);
}



/////////////////////////////////////////////////////////////////////////////
// CRichDoc serialization

void CRichDoc::Serialize(CArchive& ar)
{

//	CString strPath = ar.m_pFile->m_strFileName;
	CString strPath = ar.GetFile()->GetFileName();
	int nPos;
	if ((nPos = strPath.ReverseFind ('\\')) >= 0)
	{
		strPath = strPath.Right (strPath.GetLength() - nPos);
	}
	if ((nPos = strPath.Find ('.')) >= 0)
	{
		strPath = strPath.Right (strPath.GetLength() - nPos);
	}
	if (!strPath.CompareNoCase (".mem"))
	{
		if (ar.IsStoring())
		{
			if (m_FileHistory.m_CreatedTime == 0)
			{
				m_FileHistory.m_CreatedTime = CTime::GetCurrentTime ();
				char user[_MAX_PATH];
				DWORD dwSize = _MAX_PATH;
				GetUserName (user, &dwSize);
				m_FileHistory.m_CreatedBy = user;
			}
			else
			{
				CModified cm;
				cm.m_ModTime = CTime::GetCurrentTime ();
				char user[_MAX_PATH];
				DWORD dwSize = _MAX_PATH;
				GetUserName (user, &dwSize);
				cm.m_ModUser = user;
				m_FileHistory.m_History.Add (cm);
			}
			ar << m_FileHistory;
		}
		else
		{
			ar >> m_FileHistory;
		}
	}
	// Calling the base class CRichEditDoc enables serialization
	//  of the container document's COleClientItem objects.
	// TODO: set CRichEditDoc::m_bRTF = FALSE if you are serializing as text
	CRichEditDoc::Serialize(ar);
}

/////////////////////////////////////////////////////////////////////////////
// CRichDoc diagnostics

#ifdef _DEBUG
void CRichDoc::AssertValid() const
{
	CRichEditDoc::AssertValid();
}

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

/////////////////////////////////////////////////////////////////////////////
// CRichDoc commands

void CRichDoc::OnViewHistory() 
{
	CHistoryDlg hd;
	hd.m_pData = &m_FileHistory;
	hd.DoModal ();
}

⌨️ 快捷键说明

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