【VC开源代码栏目提醒】:网学会员为广大网友收集整理了,usePenView.cpp,希望对大家有所帮助!
// usePenView.cpp : CusePenView 类的实现
//
#include "stdafx.h"
#include "usePen.h"
#include "usePenDoc.h"
#include "usePenView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CusePenView
IMPLEMENT_DYNCREATE(CusePenView, CView)
BEGIN_MESSAGE_MAP(CusePenView, CView)
// 标准打印命令
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
// CusePenView 构造/析构
CusePenView::CusePenView()
{
// TODO: 在此处添加构造代码
}
CusePenView::~CusePenView()
{
}
BOOL CusePenView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
// 样式
return CView::PreCreateWindow(cs);
}
// CusePenView 绘制
void CusePenView::OnDraw(CDC* pDC)
{
CusePenDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
//创建红色实线画笔
CPen redPen;
redPen.CreatePen (PS_SOLID,5,RGB(255,0,0));
//将红画笔选入设备环境中
CPen *pOldPen=pDC->SelectObject (&redPen);
//画点
pDC->SetPixel(50,50,RGB(255,0,0));
//画线
pDC->MoveTo(10,10);
pDC->LineTo(10,100);
//释放资源
pDC->SelectObject (pOldPen);
//创建蓝色虚线画笔
CPen bluePen(PS_DASH,1,RGB(0,0,255));
//将蓝画笔选入设备环境中
pOldPen=pDC->SelectObject (&bluePen);
//画折线,注意该折线不是封闭的
CPoint p[5]={CPoint(50,70),CPoint(120,5),CPoint(180,50),CPoint(140,85),CPoint(50,130)};
pDC->Polyline(p,5);
//释放资源
pDC->SelectObject (pOldPen);
//创建绿色点划线画笔
CPen greenPen(PS_DASHDOT,1,RGB(0,255,0));
//将绿画笔选入设备环境中
pOldPen=pDC->SelectObject (&greenPen);
//画普通矩形和圆角矩形
pDC->Rectangle(200,20,280,70);
pDC->RoundRect(200,80,280,130,15,10);
//释放资源
pDC->SelectObject (pOldPen);
//创建红色双点划线画笔
CPen rPen(PS_DASHDOTDOT,1,RGB(255,0,0));
//将画笔选入设备环境中
pOldPen=pDC->SelectObject (&rPen);
//画多边形
CPoint p1[5]={CPoint(300,70),CPoint(350,10),CPoint(400,50),CPoint(370,100),CPoint(290,130)};
pDC->Polygon(p1,5);
//画椭圆
pDC->Ellipse(20,150,150,200);
//释放资源
pDC->SelectObject (pOldPen);
// TODO: 在此处为本机数据添加绘制代码
}
// CusePenView 打印
BOOL CusePenView::OnPreparePrinting(CPrintInfo* pInfo)
{
// 默认准备
return DoPreparePrinting(pInfo);
}
void CusePenView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 打印前添加额外的初始化
}
void CusePenView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 打印后添加清除过程
}
// CusePenView 诊断
#ifdef _DEBUG
void CusePenView::AssertValid() const
{
CView::AssertValid();
}
void CusePenView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CusePenDoc* CusePenView::GetDocument() const // 非调试版本是内联的
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CusePenDoc)));
return (CusePenDoc*)m_pDocument;
}
#endif //_DEBUG
// CusePenView 消息处理
程序