中南大学数学院大三年级面向对象实验报告05001

中南大学数学院大三年级面向对象实验报告05001

ID:19606948

大小:727.05 KB

页数:24页

时间:2018-10-04

中南大学数学院大三年级面向对象实验报告05001_第1页
中南大学数学院大三年级面向对象实验报告05001_第2页
中南大学数学院大三年级面向对象实验报告05001_第3页
中南大学数学院大三年级面向对象实验报告05001_第4页
中南大学数学院大三年级面向对象实验报告05001_第5页
资源描述:

《中南大学数学院大三年级面向对象实验报告05001》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、面向对象程序设计学号姓名学院班级面向对象程序设计实验一.实验项目名称:简单画图程序二.实验目的:1)在单文档菜单中,在菜单行中可插入一个菜单项,命名为绘图,在下拉菜单中可分别设置绘制的图形形状,如直线、矩形及椭圆,线宽选项,有1-5可供选择,还可以设置线色以及填充色,通过弹出的颜色对话框选择需要的颜色,如果不选择线宽、线色以及填充色,则按默认的画笔,画刷来绘制选择的图形。2)选择好图形后,通过鼠标可以绘制出相应的直线,矩形或椭圆,鼠标的按下确定图形的起点,鼠标的拖动则确定了图形的终点,即通过鼠标的拖动来决定图形的大小,当鼠标弹起,此图形则绘制完毕。3)增添工

2、具栏,设置绘制的图形形状,线色以及填充色,可更方便地选择相应的功能。三.实验设计思路:1)对需要用到的变量进行初始化。2)选择相应的图形之后就响应相应的消息处理函数,给shape赋对应的值。选择不同的线宽,线色与填充色,即可改变画笔或画刷的属性。3)鼠标的按下响应函数OnLButtonDown(),捕捉鼠标当前位置得到起点的坐标,鼠标的拖动响函数OnMouseMove()改变终点的坐标,鼠标的弹起响应OnLButtonUp(),确定终点坐标,刷新,得到绘制图形。四.实验软件设计4.1设计步骤1)创建单文档创建一个MFCAppWizard[exe]工程,命名为

3、“yinshuyan”,如图1所示,并创建单文档,如图2所示。创建成功后,系统自动生成相应的类,如图3所示。图2创建工程图3创建单文档图4生成类2)编辑菜单添加需要的菜单项,如图4所示;并在菜单的属性中设定好所对应的ID,如图5所示,各项菜单对应的ID如表1所示(其中线宽菜单为弹出菜单,只需在菜单项目属性中的弹出选项前打勾即可,分隔线亦只需在菜单项目属性中选中分隔符选项即可)。图5添加菜单项图6设置菜单ID表1菜单项对应ID菜单名ID菜单名ID直线ID_LINE线宽1ID_W1矩形ID_RECT线宽2ID_W2椭圆ID_ELLIPSE线宽3ID_W3颜色ID

4、_COLOR线宽4ID_W4填充色ID_FILLCOLOR线宽5ID_W5建立类向导,在视图类CyinshuyanView中,对各菜单项添加对应的COMMAND消息处理函数,部分菜单项还添加对应的UPDATE_COMMAND_UI消息函数,如图6所示。图7建立类向导3)创建工具栏在插入处选择资源,新建工具栏,如图7所示;图8新建工具栏在工具栏上添加相应的按钮,在属性处更改其ID,如图8所示。图9编辑工具栏4)在相应消息函数处添加代码,实现其功能建立类向导,在视图类CyinshuyanView中,添加WM_PAINT消息,以及WM_LBUTTONDOWN、WM

5、_LBUTTONUP、WM_MOUSEMOVE消息,并在其中添加相应的代码,如图9所示。图10添加WM_PAINT消息4.2界面设计各控件名称,类型,属性及相关变量如表2所示。表2界面控件表控件名称控件类型属性相关变量绘图下拉式菜单无无直线菜单项工具栏按钮ID_LINEintshape矩形菜单项工具栏按钮ID_RECTintshape续表2界面控件表控件名称控件类型属性相关变量椭圆菜单项工具栏按钮ID_ELLIPSEintshape线宽弹出式菜单无intw颜色(线色)菜单项工具栏按钮ID_COLORCOLORREFm_nColor填充色菜单项工具栏按钮ID_

6、FILLCOLORCOLORREFm_fColor4.3关键功能实现1)选择要绘制的图形在直线、矩形以及椭圆的消息处理函数里为shape分别赋值为1,2,3,在OnPaint()函数里添加3个if语句的代码来这实现这三个图形的绘制:当选择画直线时,shape=1,则执行绘制直线代码,当选择画矩形时,shape=2,则执行绘制矩形的代码,当性选择画椭圆时,shape=3,则执行绘制椭圆的代码。2)改变线宽在OnPaint()创建的画笔中,pen.CreatePen(PS_SOLID,w,m_nColor),线宽处用w表示,则改变w的值即改变了画笔的粗细。选择菜

7、单绘图→线宽选择划线宽度值,此时所选的线宽值就赋给线宽变量w。若不选择线宽值,则w=1(即默认线宽值为1)。3)改变线色在OnPaint()创建的画笔中,pen.CreatePen(PS_SOLID,w,m_nColor),线的颜色处用m_nColor表示,则改变m_nColor即改变了画笔的颜色。选择菜单绘图→颜色,会弹出通过WM_COLORREF从系统中引入的颜色选择对话框,选择颜色后,点击确定则相应颜色值就赋给变量m_nColor,此时画笔的颜色就会发上变化。若不选择颜色,则默认(线)颜色为黑色。4)改变填充色在OnPaint()创建的画刷中,brus

8、h.CreateSolidBrush(m_fColo

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

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

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