textreadview.cpp

来自「一个用于BBS阅读的小工具」· C++ 代码 · 共 153 行

CPP
153
字号
// TextReadView.cpp : implementation of the CTextReadView class
//

#include "stdafx.h"
#include "TextRead.h"

#include "TextReadDoc.h"
#include "TextReadView.h"

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

extern LOGFONT lf;
/////////////////////////////////////////////////////////////////////////////
// CTextReadView

IMPLEMENT_DYNCREATE(CTextReadView, CEditView)

BEGIN_MESSAGE_MAP(CTextReadView, CEditView)
	//{{AFX_MSG_MAP(CTextReadView)
	ON_COMMAND(ID_TOOLBAR_FONT, OnToolbarFont)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CEditView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CEditView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTextReadView construction/destruction

CTextReadView::CTextReadView()
{
	m_font=NULL;
}

CTextReadView::~CTextReadView()
{
	if(m_font)
	{	m_font->DeleteObject();
		delete m_font;
	}
}

BOOL CTextReadView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	BOOL bPreCreated = CEditView::PreCreateWindow(cs);
	cs.style &= ~(ES_AUTOHSCROLL|WS_HSCROLL);	// Enable word-wrapping

	return bPreCreated;
}

/////////////////////////////////////////////////////////////////////////////
// CTextReadView drawing

void CTextReadView::OnDraw(CDC* pDC)
{
	CTextReadDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
}

/////////////////////////////////////////////////////////////////////////////
// CTextReadView printing

BOOL CTextReadView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default CEditView preparation
	return CEditView::OnPreparePrinting(pInfo);
}

void CTextReadView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
	// Default CEditView begin printing.
	CEditView::OnBeginPrinting(pDC, pInfo);
}

void CTextReadView::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo)
{
	// Default CEditView end printing
	CEditView::OnEndPrinting(pDC, pInfo);
}

/////////////////////////////////////////////////////////////////////////////
// CTextReadView diagnostics

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

void CTextReadView::Dump(CDumpContext& dc) const
{
	CEditView::Dump(dc);
}

CTextReadDoc* CTextReadView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTextReadDoc)));
	return (CTextReadDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CTextReadView message handlers

void CTextReadView::OnToolbarFont() 
{
	SetViewFont(true);
}

void CTextReadView::OnInitialUpdate() 
{
	CEditView::OnInitialUpdate();
	SetViewFont(false);	
}

void CTextReadView::SetViewFont(bool needDlg)
{
	if(m_font)
	{	m_font->DeleteObject();
		delete m_font;
	}
//	if(needDlg)
//	{
//		CFontDialog dlg;
//		if(dlg.DoModal()==IDOK)
//		{
//			m_font=new CFont;
		//	m_font->CreateFontIndirect(	&(dlg.m_lf));
//			memcpy(&lf,&(dlg.m_lf),sizeof(LOGFONT));
//			m_font->CreateFontIndirect(	&(lf));
//			SetFont(m_font);
//		}
//	}
//	else
	{
		m_font=new CFont;
		if(!m_font->CreatePointFontIndirect(&lf))
			if (!m_font->CreateStockObject(DEFAULT_GUI_FONT))
				if (!m_font->CreatePointFont(80, "MS Sans Serif"))
					return ;
			SetFont(m_font);
	}
}

⌨️ 快捷键说明

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