C++实验报告(MFC简单画图程序).doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

.

.

精选

精选

.

精选

VC++程序设计实验报告

实验目的

掌握MFC编程

实验内容

用MFC向导创建单文档应用程序,一个简单的画图程序。

使用C++语言实现

使用VC++6.0集成开发环境开发

使用MFC应用程序开发框架

三、实验步骤

基本功能描述

1.打开exe文件,在绘图下拉菜单中可分别设置绘制的图形形状,如直线、曲线、矩形及椭圆,线宽选项,有1-6可供选择,线型选项有实线、虚线、点线和点段线供设置,还可以设置线色以及填充色,通过弹出的颜色对话框选择需要的颜色,如果不选择线宽、线色以及填充色,则按默认的画笔,画刷来绘制选择的图形。

2.选择好图形后,通过鼠标可以绘制出相应的直线,矩形或椭圆,鼠标的按下确定图形的起点,鼠标的拖动则确定了图形的终点,即通过鼠标的拖动来决定图形的大小,当鼠标弹起,此图形则绘制完毕。

设计思路

1.对需要用到的变量进行初始化。

2.选择相应的图形之后就响应相应的消息处理函数,给shape赋对应的值。选择不同的线宽,线色与填充色,即可改变画笔或画刷的属性。

3.鼠标的按下响应函数OnLButtonDown(),捕捉鼠标当前位置得到起点的坐标,鼠标的拖动响函数OnMouseMove()改变终点的坐标,鼠标的弹起响应OnLButtonUp(),确定终点坐标,刷新,得到绘制图形。

4.选择图形或其它属性,可进行下一次绘制。

软件设计

A设计步骤

1.创建单文档

创建一个MFCAppWizard[exe]工程,命名为“Draw”,如图1所示,并创建单文档,如图2所示。创建成功后,系统自动生成相应的类,如图3所示。

.

.

精选

精选

.

精选

图1创建工程

图2创建单文档

.

.

精选

精选

.

精选

图3生成类

2.编辑菜单

添加需要的菜单项,如图4所示;并在菜单的属性中设定好所对应的ID,如图5所示,各项菜单对应的ID如表1所示(其中线宽菜单为弹出菜单,只需在菜单项目属性中的弹出选项前打勾即可,分隔线亦只需在菜单项目属性中选中分隔符选项即可)。

图4添加菜单项

.

.

精选

精选

.

精选

图5设置菜单ID

表1菜单项对应ID

菜单名

ID

菜单名

ID

菜单名

ID

直线

ID_LINE

线宽1

ID_W1

实线

ID_SOLID

矩形

ID_RECT

线宽2

ID_W2

虚线

ID_DASH

椭圆

ID_ELLIPSE

线宽3

ID_W3

点线

ID_DOT

颜色

ID_COLOR

线宽4

ID_W4

点段线

ID_DASHDOT

填充色

ID_FILLCOLOR

线宽5

ID_W5

建立类向导,在视图类CDrawView中,对各菜单项添加对应的COMMAND消息处理函数,部分菜单项还添加对应的UPDATE_COMMAND_UI消息函数,如图6所示。

.

.

精选

精选

.

精选

图6建立类向导

3.在相应消息函数处添加代码,实现其功能

建立类向导,在视图类CDrawView中,添加WM_PAINT消息,以及WM_LBUTTONDOWN、WM_LBUTTONUP、WM_MOUSEMOVE消息,并在其中添加相应的代码。

B关键功能实现

1.选择要绘制的图形

在直线、矩形以及椭圆的消息处理函数里为shape分别赋值为1,2,3,在OnPaint()函数里添加3个if语句的代码来这实现这三个图形的绘制:当选择画直线时,shape=1,则执行绘制直线代码,当选择画矩形时,shape=2,则执行绘制矩形的代码,当性选择画椭圆时,shape=3,则执行绘制椭圆的代码。

2.改变线宽

在OnPaint()创建的画笔中,pen.CreatePen(penstyle,w,m_nColor),线宽处用w表示,则改变w的值即改变了画笔的粗细。选择菜单绘图→线宽选择划线宽度值,此时所选的线宽值就赋给线宽变量w。若不选择线宽值,则w=1(即默认线宽值为1)。

.

.

精选

精选

.

精选

3.改变线型

在OnPaint()创建的画笔中,pen.CreatePen(penstyle,w,m_nColor),线型处用penstyle表示,则改变penstyle的值即改变了画笔的类型。选择菜单绘图→线型选择线型,此时所选的线型就赋给线型变量penstyle。若不选择线型值,则penstyle=ID_SOLID(即默认线型为实线)。

4.改变线色

在OnPaint()创建的画笔中,pen.CreatePen(penstyle,w,m_nColor),线的颜色处用m_nColor表示,则改变m_nColor即改变了画笔的颜色。选择菜单绘图→颜色,会弹出通过WM_COLORREF从系统中引入的颜色选择对

文档评论(0)

润哈哈 + 关注
官方认证
内容提供者

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

认证主体广州乾星科技有限公司
IP属地广东
统一社会信用代码/组织机构代码
91440101MA5B6X8T7Y

1亿VIP精品文档

相关文档