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

📄 texteditview.cpp

📁 用VC++开发多视图多文档应用程序
💻 CPP
字号:
// TextEditView.cpp : implementation file
//

#include "stdafx.h"
#include "BmpText.h"
#include "TextEditView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTextEditView

IMPLEMENT_DYNCREATE(CTextEditView, CEditView)

CTextEditView::CTextEditView()
{
	filename.Empty();
}

CTextEditView::~CTextEditView()
{
}


BEGIN_MESSAGE_MAP(CTextEditView, CEditView)
	//{{AFX_MSG_MAP(CTextEditView)
	ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
	ON_COMMAND(ID_FILE_SAVE, OnFileSave)
	ON_COMMAND(ID_FILE_SAVE_AS, OnFileSaveAs)
	ON_UPDATE_COMMAND_UI(ID_FILE_CLOSE, OnUpdateFileClose)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTextEditView drawing

void CTextEditView::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: add draw code here
}

/////////////////////////////////////////////////////////////////////////////
// CTextEditView diagnostics

#ifdef _DEBUG
void CTextEditView::AssertValid() const
{
	CEditView::AssertValid();
}

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

/////////////////////////////////////////////////////////////////////////////
// CTextEditView message handlers

void CTextEditView::OnFileOpen() 
{
	// TODO: Add your command handler code here
	CFileDialog mydlg(TRUE,"TXT");
	mydlg.DoModal();
	filename=mydlg.GetPathName();
	CFile myfile;
	myfile.Open(filename, CFile::modeRead);
	CArchive ar(&myfile,CArchive::load);
    SerializeRaw(ar);
	ar.Close();
	myfile.Close();

	CDocument* pDoc = GetDocument();
	pDoc->SetTitle(filename);

}

void CTextEditView::OnFileSave() 
{
	if(filename.IsEmpty())
		OnFileSaveAs();
	else
	{
		CFile myfile;
		myfile.Open(filename, CFile::modeCreate | CFile::modeWrite );
		CArchive ar(&myfile,CArchive::store);
		SerializeRaw(ar);
		ar.Close();
		myfile.Close();

		CDocument* pDoc = GetDocument();
		pDoc->SetTitle(filename);

	}
}

void CTextEditView::OnFileSaveAs() 
{
	// TODO: Add your command handler code here
	CFileDialog mydlg(FALSE,"TXT");
	mydlg.DoModal();
	filename=mydlg.GetPathName();
	CFile myfile;
	myfile.Open(filename, CFile::modeCreate | CFile::modeWrite );
	CArchive ar(&myfile,CArchive::store);
    SerializeRaw(ar);
	ar.Close();
	myfile.Close();

	CDocument* pDoc = GetDocument();
	pDoc->SetTitle(filename);

}

void CTextEditView::OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView) 
{
	// TODO: Add your specialized code here and/or call the base class
	CDocument* pDoc = GetDocument();
	if(filename.IsEmpty())
		 pDoc->SetTitle("TextEdit View");
	else pDoc->SetTitle(filename);
	CEditView::OnActivateView(bActivate, pActivateView, pDeactiveView);
}


void CTextEditView::OnUpdateFileClose(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(FALSE);
	
}

⌨️ 快捷键说明

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