📄 wordeditview.cpp
字号:
// WordEditView.cpp : CWordEditView 类的实现
//
#include "stdafx.h"
#include "WordEdit.h"
#include "WordEditDoc.h"
#include "CntrItem.h"
#include "WordEditView.h"
#include "MarginSetup.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CWordEditView
IMPLEMENT_DYNCREATE(CWordEditView, CRichEditView)
BEGIN_MESSAGE_MAP(CWordEditView, CRichEditView)
ON_WM_DESTROY()
// 标准打印命令
ON_COMMAND(ID_FILE_PRINT, CRichEditView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CRichEditView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRichEditView::OnFilePrintPreview)
ON_COMMAND(ID_FORMAT_FONT, OnFormatFont)
ON_COMMAND(ID_FORMAT_LEFT, OnFormatLeft)
ON_COMMAND(ID_FORMAT_RIGHT, OnFormatRight)
ON_COMMAND(ID_FORMAT_CENTER, OnFormatCenter)
ON_COMMAND(ID_FORMAT_MARGIN, OnFormatMargin)
END_MESSAGE_MAP()
// CWordEditView 构造/销毁
CWordEditView::CWordEditView()
{
// TODO: 在此处添加构造代码
}
CWordEditView::~CWordEditView()
{
}
BOOL CWordEditView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
// 样式
return CRichEditView::PreCreateWindow(cs);
}
void CWordEditView::OnInitialUpdate()
{
CRichEditView::OnInitialUpdate();
// 设置打印边距(720 缇 = 1/2 英寸)
SetMargins(CRect(720, 720, 720, 720));
}
// CWordEditView 打印
BOOL CWordEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
// 默认准备
return DoPreparePrinting(pInfo);
}
void CWordEditView::OnDestroy()
{
// 停用处于销毁中的项;这在
// 使用拆分器视图时非常重要
COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this);
if (pActiveItem != NULL && pActiveItem->GetActiveView() == this)
{
pActiveItem->Deactivate();
ASSERT(GetDocument()->GetInPlaceActiveItem(this) == NULL);
}
CRichEditView::OnDestroy();
}
// CWordEditView 诊断
#ifdef _DEBUG
void CWordEditView::AssertValid() const
{
CRichEditView::AssertValid();
}
void CWordEditView::Dump(CDumpContext& dc) const
{
CRichEditView::Dump(dc);
}
CWordEditDoc* CWordEditView::GetDocument() const // 非调试版本是内联的
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CWordEditDoc)));
return (CWordEditDoc*)m_pDocument;
}
#endif //_DEBUG
// CWordEditView 消息处理程序
void CWordEditView::OnFormatFont()
{
// TODO: 在此添加命令处理程序代码
CFontDialog fFontDialog;
if(fFontDialog.DoModal()!=IDOK)
return;
CHARFORMAT2 &cf=GetCharFormatSelection();
cf.cbSize = sizeof(CHARFORMAT);
cf.dwMask = CFM_BOLD|CFM_ITALIC|CFM_UNDERLINE|CFM_STRIKEOUT|CFM_SIZE|
CFM_COLOR|CFM_OFFSET|CFM_PROTECTED|CFM_FACE;
cf.yHeight=fFontDialog.GetSize();
cf.crTextColor=fFontDialog.GetColor();
strcpy(cf.szFaceName,fFontDialog.GetFaceName());
if(fFontDialog.IsStrikeOut())
cf.dwEffects |= CFE_STRIKEOUT;
if(fFontDialog.IsBold())
cf.dwEffects |= CFE_BOLD;
if(fFontDialog.IsItalic())
cf.dwEffects |= CFE_ITALIC;
if(fFontDialog.IsUnderline())
cf.dwEffects |= CFE_UNDERLINE;
SetCharFormat(cf);
}
void CWordEditView::OnFormatLeft()
{
// TODO: 在此添加命令处理程序代码
OnParaAlign(PFA_LEFT);
}
void CWordEditView::OnFormatRight()
{
// TODO: 在此添加命令处理程序代码
OnParaAlign(PFA_RIGHT);
}
void CWordEditView::OnFormatCenter()
{
// TODO: 在此添加命令处理程序代码
OnParaAlign(PFA_CENTER);
}
void CWordEditView::OnFormatMargin()
{
// TODO: 在此添加命令处理程序代码
CMarginSetup marginsetup;
CRect rectMargin;
if(marginsetup.DoModal()==IDOK)
{
rectMargin.left=long(marginsetup.m_MarginLeft*1440.0/2.54);
rectMargin.right=long(marginsetup.m_MarginRight*1440.0/2.54);
rectMargin.top=long(marginsetup.m_MarginTop*1440.0/2.54);
rectMargin.bottom=long(marginsetup.m_MarginBottom*1440.0/2.54);
SetMargins(rectMargin);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -