metafiledemoview.cpp

来自「VC.net 的一些有用的技巧」· C++ 代码 · 共 84 行

CPP
84
字号
// MetafileDemoView.cpp : CMetafileDemoView 类的实现
//

#include "stdafx.h"
#include "MetafileDemo.h"

#include "MetafileDemoDoc.h"
#include "MetafileDemoView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CMetafileDemoView

IMPLEMENT_DYNCREATE(CMetafileDemoView, CView)

BEGIN_MESSAGE_MAP(CMetafileDemoView, CView)
END_MESSAGE_MAP()

// CMetafileDemoView 构造/销毁

CMetafileDemoView::CMetafileDemoView()
{
	// TODO: 在此处添加构造代码

}

CMetafileDemoView::~CMetafileDemoView()
{
}

BOOL CMetafileDemoView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
	// 样式

	return CView::PreCreateWindow(cs);
}

// CMetafileDemoView 绘制

void CMetafileDemoView::OnDraw(CDC* pDC)
{
	CMetafileDemoDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	// TODO: 在此处为本机数据添加绘制代码
	using namespace Gdiplus;
	Graphics myGraphics(pDC->m_hDC);
	Metafile myMetafile(L"SampleMetafile.emf",pDC->m_hDC);
	{
	   Graphics myGraphics(&myMetafile);
	   Pen myPen(Color(255,0,0,0));
	   myGraphics.DrawRectangle(&myPen,Rect(100,10,25,75));
	 }
	 myGraphics.DrawImage(&myMetafile,100,100);
}


// CMetafileDemoView 诊断

#ifdef _DEBUG
void CMetafileDemoView::AssertValid() const
{
	CView::AssertValid();
}

void CMetafileDemoView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CMetafileDemoDoc* CMetafileDemoView::GetDocument() const // 非调试版本是内联的
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMetafileDemoDoc)));
	return (CMetafileDemoDoc*)m_pDocument;
}
#endif //_DEBUG


// CMetafileDemoView 消息处理程序

⌨️ 快捷键说明

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