单文档输出文本
doc.h文件
插入
public:
CString str1, str2, str3, str4, str5, str6;
// CprinttextDoc 构造/析构
CprinttextDoc::CprinttextDoc() noexcept
{
// TODO: 在此添加一次性构造代码
str1 = "Value";
str2 = "first";
str3 = "second";
str4 = "third";
str5 = "forth";
str6 = "fifth";
view.h文件
插入
CFont startFont1, startFont2, startFont3;
BOOL m_bTestRead;
// CprinttextView 构造/析构
CprinttextView::CprinttextView() noexcept
{
// TODO: 在此处添加构造代码
if (!(startFont1.CreateFont(50, 0, 0, 0, FW_BOLD, 0, 1, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH, _T("new Font1"))))
startFont1.CreateStockObject(SYSTEM_FIXED_FONT);//选用Windows标准固定宽度的字体
if (!(startFont2.CreateFont(25, 0, 0, 0, FW_NORMAL, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH, _T("new Font2"))))
startFont2.CreateStockObject(SYSTEM_FIXED_FONT);
if (!(startFont3.CreateFont(30, 0, 0, 0, FW_BOLD, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH, _T("new Font3"))))
startFont3.CreateStockObject(SYSTEM_FIXED_FONT);
m_bTestRead = FALSE;
}
DisplayState函数
void CprinttextView::DisplayState(CDC *pDC)
{
// TODO: 在此处添加实现代码.
CprinttextDoc *pDoc = GetDocument();
CFont *pStartOldFont;
CRect rect;
GetClientRect(&rect);
pStartOldFont = (CFont *)pDC->SelectObject(&startFont1);
pDC->SetTextAlign(TA_CENTER);
pDC->SetTextColor(RGB(255, 0, 0));
pDC->TextOut(rect.right / 2, 20, pDoc->str1);
pDC -> SelectObject(startFont2);
pDC->SetTextColor(RGB(128, 128, 0));
pDC->TextOut(rect.right / 2, 85, pDoc->str2);
pDC->SelectObject(startFont3);
pDC->SetTextAlign(TA_LEFT);
pDC->SetTextColor(RGB(0, 0, 255));
pDC->TextOut(5, 150, pDoc->str3);
pDC->TextOut(5, 150 + 50, pDoc->str4);
pDC->TextOut(5, 150 + 100, pDoc->str5);
pDC->SelectObject(startFont2);
pDC->SetTextColor(RGB(255, 0, 255));
pDC->TextOut(rect.right / 3 + 150, 610, pDoc->str6);
CPen pen(PS_SOLID, 5, RGB(255, 0, 0));
CPen *pOldPen;
pOldPen = pDC->SelectObject(&pen);
pDC->MoveTo(10, 120);
pDC->LineTo(rect.right - 10, 120);
pDC->MoveTo(10, 590);
pDC->LineTo(rect.right - 10, 590);
pDC->SelectObject(pStartOldFont);
pDC->SelectObject(pOldPen);
pDC->SetTextColor(RGB(0, 0, 0));
pDC->SetTextAlign(TA_LEFT);
}
OnDraw函数
void CprinttextView::OnDraw(CDC* pDC)
{
CprinttextDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (m_bTestRead) {}
else
DisplayState(pDC);
}