mfc基于对话框应HTML,C ++使用MFC编译基于对话框的Windows应用程序,并实现绘图功能的源代码...

这篇博客详细介绍了如何利用MFC(Microsoft Foundation Classes)库在基于对话框的Windows应用程序中实现绘图功能。文章涵盖了CMyView类的实现,包括消息映射、命令处理程序以及绘图和打印的相关函数。作者通过示例代码展示了如何处理鼠标点击和移动事件,以执行直线、曲线、矩形和扇形等图形的绘制。同时,博客还讨论了调试和打印支持的实现细节。
摘要由CSDN通过智能技术生成

2-738-png_6_0_0_135_162_622_336_893.25_1263.375-1366-0-1268-1366.jpg

当前位置: 图书馆下载>所有类别>教学研究>教学案例/设计> C ++使用MFC编译基于对话框的Windows应用程序以实现绘图功能源代码

侵权投诉

使用MFC编译基于对话框的Windows应用程序以实现绘图功能

//绘制View.cpp: CMyView类的实现

//

#include“ stdafx.h”

#include“ Drawing.h”

#include“工程图文件.h”

#include“工程图View.h”

#ifdef _DEBUG

#define新的DEBUG_NEW

#undef THIS_FILE

静态字符THIS_FILE [] = __FILE __;

#endif

/ // /

// CMyView

IMPLEMENT_DYNCREATE(CMyView,CView)

BEGIN_MESSAGE_MAP(CMyView,CView)

// {{AFX_MSG_MAP(CMyView)

ON_COMMAND(IDM_LINE,)//用于将消息与消息响应功能相关联的宏. 生成消息后,将调用响应函数.

27-532-png_6_0_0_135_114_622_454_893.25_1263.375-731-0-1268-731.jpg

ON_COMMAND(IDM_CURVE,OnCurve)

ON_COMMAND(IDM_RECTANGLE,OnRectangle)

ON_COMMAND(IDM_SECTOR,OnSector)

ON_WM_LBUTTONDOWN()

ON_WM_LBUTTONUP()

ON_COMMAND(IDM_TIANCHONG,OnTianchong)

ON_WM_MOUSEMOVE()

//}} AFX_MSG_MAP

//标准打印命令

ON_COMMAND(ID_FILE_PRINT,CView :: OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_DIRECTmfc画图板程序,CView :: OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_PREVIEW,CView :: OnFilePrintPreview)

END_MESSAGE_MAP()

/ // /

// CMyView的构建/销毁

CMyView :: CMyView()

{

// TODO: 在此处添加构造代码

m_nDrawType = 0; //将成员变量初始化为0

m_point = 0;

15-452-png_6_0_0_135_114_623_292_893.25_1263.375-968-0-1268-968.jpg

}

CMyView ::〜CMyView()

{

}

BOOL CMyView :: PreCreateWindow(CREATESTRUCT和CS)

{

// TODO: 在此处通过修改来修改Window类或样式

// CREATESTRUCT cs

返回CView :: PreCreateWindow(cs);

}

/ // /

// CMyView工程图

void CMyView :: OnDraw(CDC * pDC)

{

CMyDoc * pDoc = GetDocument();

ASSERT_VALID(pDoc);

// TODO: 在此处添加本机数据的绘制代码

}

/ // /

// CMyView打印

ee16d002b7d2102e2deb95e1cfb6acfb.png

BOOL CMyView :: OnPreparePrinting(CPrintInfo * pInfo)

{

//默认准备

返回DoPreparePrinting(pInfo);

}

void CMyView :: OnBeginPrinting(CDC * / * pDC * /,CPrintInfo * / * pInfo * /)

{

// TODO: 在打印之前添加额外的初始化

}

void CMyView :: OnEndPrinting(CDC * / * pDC * /,CPrintInfo * / * pInfo * /)

{

// TODO: 打印后添加清理

}

/ // /

// CMyView诊断程序

#ifdef _DEBUG

void CMyView :: AssertValid()const

{

CView :: AssertValid();

}

16-452-png_6_0_0_135_114_623_292_893.25_1263.375-968-0-1268-968.jpg

void CMyView ::转储(CDumpContext&dc)常量

{

CView ::转储(dc);

}

CMyDoc * CMyView :: GetDocument()//内嵌非调试版本

{

ASSERT(m_pDocument-> IsKindOf(RUNTIME_CLASS(CMyDoc)));

返回(CMyDoc *)m_pDocument;

}

#endif // _调试

/ // /

// CMyView消息处理程序

void CMyView ::()

{

// TODO: 添加命令处理程序cod

e here

m_nDrawType = 1; //选择变量行时mfc画图板程序,将此变量设置为1

}

void CMyView :: OnCurve()

{

// TODO: 在此处添加命令处理程序代码

m_nDrawTyp

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/ruanjian/article-171277-1.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值