简易画图板设计报告

简易画图板设计报告

ID:24842022

大小:128.00 KB

页数:15页

时间:2018-11-15

简易画图板设计报告_第1页
简易画图板设计报告_第2页
简易画图板设计报告_第3页
简易画图板设计报告_第4页
简易画图板设计报告_第5页
资源描述:

《简易画图板设计报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、设计报告:Graphic简易画图板-----韩伟谢程焜肖越周峰电科二班151设计目的设计一个单文档类型的MFCAppWizard(exe)工程,工程取名为:Graphic。此程序将实现简单的绘图功能,包括点、直线、矩形、椭圆、扇形和连续线的绘制。并且能实现绘图的控制,包括线宽、线型和颜色的设置,图形的保存和打开以及笔刷的使用。2总体设计设计图如图615简易画图板文件绘图笔刷打开保存点直线矩形椭圆扇形连续线设置颜色简单笔刷位图笔刷透明笔刷线宽线型图63详细设计首先,新建一个单文档类型的MFCAppWizard(exe)工程,工程取名为:Graphic。为此程序添加一个子菜单

2、,菜单名称为“绘图”,并为其添加六个菜单项,分别用来控制不同图形的绘制。当用户选择其中的一个菜单项后,程序将按照当前的选择进行相应图形的绘制。添加的六个菜单项的ID及名称如表1所示。然后分别为这六个菜单项添加命令响应,本程序让视类(CGraphicView)对这些菜单命令进行响应,这六个响应函数的名称分别如表1所示。表1添加的菜单项菜单项ID菜单项名称菜单项命令响应函数IDM_DOT点OnDotIDM_LINE直线OnLineIDM-RECTANGLE矩形OnRectangleIDM_ELLIPSE椭圆OnEllipse15IDM_SHANXING扇形OnShanxing

3、IDM_LIANXUXIAN连续线OnLianxuxian在程序运行以后,当用户单击某个菜单项时,应该把用户的选择保存起来,以便随后的绘图操作使用。因此在CGraphicView类中添加一个私有变量m_nDrawType;用来保存用户的选择,该变量的定义如下所述:private:UINTm_nDrawType;接着,在视类的构造函数中将此变量初始化为0,程序代码如下:CGraphicView::CGraphicView(){//TODO:addconstructioncodeherem_nDrawType=0;}利用switch/case语句,来分别完成相应图形的绘制。当

4、用户选择【绘图】菜单下的不同子菜单项时,将变量m_nDrawType设置为不同的值。程序代码如下:voidCGraphicView::OnDot(){//TODO:Addyourcommandhandlercodeherem_nDrawType=1;}voidCGraphicView::OnLine(){//TODO:Addyourcommandhandlercodeherem_nDrawType=2;}voidCGraphicView::OnRectangle(){//TODO:Addyourcommandhandlercodeherem_nDrawType=3;}vo

5、idCGraphicView::OnEllipse(){//TODO:Addyourcommandhandlercodeherem_nDrawType=4;}15voidCGraphicView::OnShanxing(){//TODO:Addyourcommandhandlercodeherem_nDrawType=5;}voidCGraphicView::OnLianxuxian(){//TODO:Addyourcommandhandlercodeherem_nDrawType=6;}3.1点、直线、矩形、椭圆的绘制(周峰谢程焜)对于直线、矩形和椭圆,在绘制时都可有两

6、点来确定其图形。当鼠标左击时得到一个点,当鼠标左键松开时得到另外一个点。为视类CGraphicView分别捕获鼠标左键按下和弹起这两个消息。另外当鼠标左键按下时,需要将鼠标当前按下点保存,因此我们为CGraphicView再增加一个CPoint类型的私有成员变量:m_ptOrigin,在视类的构造函数中将此变量初始化为0。在鼠标按下消息响应函数中,保存该点,代码如下:voidCGraphicView::OnLButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcallde

7、faultm_ptOrigin=point;//保存鼠标按下得到点,也是绘制一个点CView::OnLButtonDown(nFlags,point);}在鼠标左键弹起消息响应函数中实现绘图,代码如下:voidCGraphicView::OnLButtonUp(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefault//创建并获得设备描述CClientDCdc(this);switch(m_nDrawType){case1:15d

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

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

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