- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
关联变量
响应函数
点
您可能关注的文档
最近下载
- 2025广西百色靖西邦腾组织管理服务有限公司招聘1人备考题库最新.docx VIP
- T CI 171—2022 区域能源系统碳减排核算技术规程.pdf VIP
- 上呼吸道感染的健康宣教.pptx VIP
- DB1331T 080-2024《雄安新区零碳建筑技术标准》.docx VIP
- 国开期末考试2447《Photoshop图像处理》机考试题及答案(第3套).pdf VIP
- (高清版)DB11∕T 716-2019 穿越既有道路设施工程技术要求.pdf VIP
- 自然辩证法概论(东华大学)中国大学MOOC慕课 章节测验客观题答案.docx VIP
- 介绍家乡会泽.pptx VIP
- 国开期末考试2447《Photoshop图像处理》机考试题及答案(第4套).pdf VIP
- T_CCAATB 0061—2024(零碳航站楼技术标准).pdf VIP
原创力文档


文档评论(0)