C++课设:简单画图程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C课设:简单画图程序

武汉理工大学《面向对象程序设计》课程设计说明书 PAGE PAGE 1 简单画图程序 1.基本功能描述 本次课程设计的任务是利用计算机和VC开发环境编写一个简单画图程序,该程序的设计指标(即主要功能)有:①用鼠标拖动绘制圆、椭圆、矩形,线等基本图形;②能控制画笔的线宽和颜色;③能对图形进行颜色填充;④在鼠标移动的过程中能实时显示当前绘制的图形。 除了以上几点功能,我有另外添加了工具栏、铅笔、橡皮等功能来使程序更方便地让用户使用,简化了人机交互的过程。 2.设计思路 首先是界面的问题,既然课设的题目是简单画图,那在建立工程的时候就要选择文档结构而不是以前做的基于对话框。可选择单文档结构或多文档结构,但想到画图界面一般只有一个,从简洁的角度考虑,选择单文档结构。而且用户界面在设计的时候要尽可能简单美观,一目了然,对相应功能有图标提示,使用户方便使用。 然后便是画图功能的具体实现。分析课设要求,可以发现功能一要求的的椭圆、矩形、直线可以分别通过Ellipse();、Rectangle();、MoveTo();、LineTo();这四个函数来实现。功能二控制画笔线宽和颜色可以给二者分别关联参数,通过改变线宽参数值来控制线宽,通过调用通用对话框改变颜色参数值来控制颜色。功能三对图形进行颜色填充虽以前未接触过,但查阅资料后发现可以调用ExtFloodFill();并合理设定参数值来实现。功能四的实时显示功能可以通过调用MouseMove();函数来实现。 这些功能需要建立菜单资源来表示各个功能选项,并建立相应的消息响应函数来进行实现。另外,画图程序主要是通过鼠标来进行操作,所以要对鼠标消息的响应及处理函数多下功夫来思考和编写。 至于额外添加的功能,工具栏通过添加工具栏资源和关联相应菜单中画图功能ID实现;铅笔、橡皮的功能则是利用MouseMove();函数,在其中做了一些改动来实现。 开始2.1.程序流程图: 开始 变量初始化(m_nDrawType,m_clr等)响应函数m_Pen(m_Eraser)=TRUE并将其他橡皮(铅笔)、填充等所关联变量置为FALSE.响应函数创建相应对话框线宽线型设置点 直线矩形填充铅笔橡皮 变量初始化(m_nDrawType,m_clr等) 响应函数 m_Pen(m_Eraser)= TRUE 并将其他橡皮(铅笔)、填充等所关联变量置为FALSE. 响应函数 创建相应对话框 线宽线型设置 点 直线 矩形 填充 铅笔 橡皮 更改变量m_clr (m_nLineWidth,m_nLineStyle)参数值图1 程序流程图MouseMove函数画直线进行填充鼠标左键弹起响应函数m_ptOldOrigin=point;m_LButtonDown=TRUE; 更改变量m_clr (m_nLineWidth,m_nLineStyle)参数值 图1 程序流程图 MouseMove函数 画直线 进行填充 鼠标左键弹起响应函数 m_ptOldOrigin=point; m_LButtonDown=TRUE; 画点 结束 画椭圆 画矩形 鼠标左键按下 响应函数 m_ptNewOrigin=point; m_ptOldOrigin=point; m_LButtonDown=TRUE; 判断各参数值以确定功能 铅笔功能 橡皮功能 IDOK==1? 颜色选择 椭圆 响应函数 m_nDrawType =1/2/3/4;对应点、直线、矩形、椭圆 响应函数 m_Fill=TRUE 并将其他橡皮、铅笔等所关联变量置为FALSE. 武汉理工大学《面向对象程序设计》课程设计说明书 PAGE 3 PAGE 3 3.软件设计 3.1.设计步骤 打开VS2010,选择新建项目,选中MFC应用程序,标题为CWN_Graphic; 选择单文档结构,其他为默认值,点击完成。 3.2 .界面设计 3.2.1.添加菜单 选择资源视图,鼠标右键,添加,资源; 2)在资源视图中打开添加的菜单资源,将各个功能的名称添加进去并合理安排,并设置好相应的ID,如图2: 图2 编辑菜单及相应ID 3.2.2 .添加工具栏 在资源视图下右键选择添加资源,ToolBar; 打开新建的工具栏,在上面添加各个小按钮,按钮图像自行画出; 将每个按钮的ID与菜单项一一对应起来,如图3: 图3 工具栏样式及ID 3.3.关键功能实现 打开类向导; 为各个菜单项添加消息函数,如图4: 图4 添加消息函数 相关ID、关联变量及响应函数如表1: 表1 相关功能ID 及所关联变量 名称 ID 关联变量 响应函数 点

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档