北邮程序设计实践报告mfc画图.doc

北邮程序设计实践报告mfc画图.doc

ID:55563347

大小:620.00 KB

页数:26页

时间:2020-05-17

北邮程序设计实践报告mfc画图.doc_第1页
北邮程序设计实践报告mfc画图.doc_第2页
北邮程序设计实践报告mfc画图.doc_第3页
北邮程序设计实践报告mfc画图.doc_第4页
北邮程序设计实践报告mfc画图.doc_第5页
资源描述:

《北邮程序设计实践报告mfc画图.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、程序设计实践设计报告课题名称:简单画图程序的设计与实现学生姓名:班级:班内序号:学号:日期:课题概述1.1课题目标和主要内容:该软件功能与Windows下附件中的画图软件有相似功能。本程序是在VC2010平台上用MFC所编。绘制方面的功能主要包括绘制各种图元,包括直线、矩形、椭圆、扇形、连续线,用笔自由绘图。绘图时可以选择各种颜色,各种线型和线宽。1.2系统的主要功能设计一个单文档类型的MFCAppWizard(exe)工程,此程序将实现简单的绘图功能,包括点、直线、矩形、椭圆、扇形和连续线的绘制。并且能实现绘图的控制,包括线宽、线型和颜色和字体的设置

2、。2.系统设计2.1系统总体框架总体设计设计图如图62.2系统详细设计1.首先,新建一个单文档类型的MFCAppWizard(exe)工程,工程取名为:SHOW。为此程序添加一个子菜单,菜单名称为“绘图”,并为其添加六个菜单项,分别用来控制不同图形的绘制。当用户选择其中的一个菜单项后,程序将按照当前的选择进行相应图形的绘制。在程序运行以后,当用户单击某个菜单项时,应该把用户的选择保存起来,以便随后的绘图操作使用。因此在CSHOWView类中添加一个私有变量dType;用来保存用户的选择,该变量的定义如下所述:private:DrawTypedType;

3、接着,在视类的构造函数中将此变量初始化为0,程序代码如下:利用switch/case语句,来分别完成相应图形的绘制。当用户选择【绘图】菜单下的不同子菜单项时,将变量dType设置为不同的值。程序代码如下:voidCSHOWView::OnShowSline(){//TODO:Addyourcommandhandlercodehere//MessageBox("直¡À线?Clicked!");dType=SLine;}voidCSHOWView::OnShowCline(){//TODO:AddyourcommandhandlercodeheredTyp

4、e=CLine;}voidCSHOWView::OnShowNosector(){//TODO:AddyourcommandhandlercodeheredType=NoSector;}voidCSHOWView::OnShowSector(){//TODO:AddyourcommandhandlercodeheredType=Sector;}voidCSHOWView::OnShowRect(){//TODO:AddyourcommandhandlercodeheredType=Recta;}voidCSHOWView::OnShowEcllipse

5、(){//TODO:AddyourcommandhandlercodeheredType=Ecllipse;}2.直线、矩形、椭圆扇形的绘制对于直线、矩形和椭圆,在绘制时都可有两点来确定其图形。当鼠标左击时得到一个点,当鼠标左键松开时得到另外一个点。为视类CSHOWView分别捕获鼠标左键按下和弹起这两个消息。另外当鼠标左键按下时,需要将鼠标当前按下点保存,因此我们为CSHOWView再增加一个CPoint类型的私有成员变量:m_ptOrigin,在视类的构造函数中将此变量初始化为0。在鼠标按下消息响应函数中,保存该点,代码如下:voidCSHOWVi

6、ew::OnLButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefault//m_ptOrigin=point;switch(dType){caseSLine:m_bDraw=TRUE;m_ptOrigin=point;break;caseCLine:m_bDraw=TRUE;m_ptOrigin=point;break;caseNoSector:m_bDraw=TRUE;m_ptOrigin=point;break;caseSector

7、:m_bDraw=TRUE;m_ptOrigin=point;m_ptNext=point;break;caseRecta:m_bDraw=TRUE;m_ptOrigin=point;break;caseEcllipse:m_bDraw=TRUE;m_ptOrigin=point;break;default:break;}CView::OnLButtonDown(nFlags,point);}3.连续线和扇形的绘制Windows系统为我们提供了一个画图程序,在该程序中,利用画笔可以绘制连续的线条,下面我们设计绘制连续线和扇形。为了绘制连续的线条,首先要

8、得到线条的起点,这在前面已经实现。然后需要捕获鼠标移动过程中的每一个点,这可以通过捕获鼠标移动

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。