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

  • 2
  • 0
  • 约6.25千字
  • 约 12页
  • 2021-09-11 发布于山东
  • 举报
完好word版,C++实验报告(MFC简单绘图程序) 完好word版,C++实验报告(MFC简单绘图程序) 完好word版,C++实验报告(MFC简单绘图程序) VC++ 程序设计实验报告 一、实验目的 掌握 MFC 编程 二、实验内容 用 MFC 导游创立单文档应用程序,一个简单的绘图程序。使用 C++语言实现 使用 VC ++ 6.0 集成开发环境开发 使用 MFC 应用程序开发框架 三、实验步骤 基本功能描绘 翻开 exe 文件,在绘图下拉菜单中可分别设置绘制的图形形状, 如直线、曲线、矩形及椭圆,线宽选项,有 1-6 可供选择,线型选项有实线、虚线、点线和点段线供设置, 还能够设置线色以及填补色, 经过弹出的颜色对话框选择需要的颜色,假如不选择线宽、线色以及填补色,则按默认的画笔,画刷来绘制选择 的图形。 选择好图形后, 经过鼠标能够绘制出相应的直线, 矩形或椭圆, 鼠标的按下确立图形的起点, 鼠标的拖动则确立了图形的终点, 即经过鼠标的拖动来决 定图形的大小,当鼠标弹起,此图形则绘制完成。 设计思路 对需要用到的变量进行初始化。 选择相应的图形以后就响应相应的信息办理函数, 给 shape赋对应的值。选择不一样的线宽,线色与填补色,即可改变画笔或画刷的属性。 鼠标的按下响应函数 OnLButtonDown() ,捕获鼠标目前地点获得起点的坐标,鼠标的拖动响函数 OnMouseMove()改变终点的坐标,鼠标的弹起响应 OnLButtonUp() ,确立终点坐标,刷新,获得绘制图形。 选择图形或其余属性,可进行下一次绘制。 软件设计 设计步骤 创立单文档 创立一个 MFC AppWizard[exe] 工程,命名为“ Draw”,如图 1 所示,并创 建单文档,如图 2 所示。创立成功后,系统自动生成相应的类,如图 3 所示。 图 1 创立工程 图 2 创立单文档 图3 生成类 编写菜单 增添需要的菜单项,如图 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_ELLIPS 线宽 3 ID_W3 点线 ID_DOT 圆 E 颜 ID_COLOR 线宽 4 ID_W4 点段线 ID_DASHDOT 色 填 ID_FILLCO 线宽 5 ID_W5 充LOR 色 成立类导游,在视图类 CDrawView 中,对各菜单项增添对应的 COMMAND 信息办理函数,部分菜单项还增添对应的 UPDATE_COMMAND_UI 信息函数,如图 6 所示。 图 6 成立类导游 在相应信息函数处增添代码,实现其功能 成立类导游,在视图类 CDrawView 中,增添 WM_PAINT 信息,以及 WM_LBUTTONDOWN 、WM_LBUTTONUP 、WM_MOUSEMOVE 信息,并在 此中增添相应的代码。 重点功能实现 选摘要绘制的图形 在直线、矩形以及椭圆的信息办理函数里为 shape 分别赋值为 1,2,3 ,在 OnPaint()函数里增添 3 个 if 语句的代码来这实现这三个图形的绘制:入选择画直线时, shape=1,则履行绘制直线代码,入选择画矩形时, shape=2, 则履行绘制矩形的代码,当性选择画椭圆时 , shape=3, 则履行绘制椭圆的代码。 改变线宽 在 OnPaint()创立的画笔中, pen.CreatePen(penstyle,w,m_nColor),线宽处用 w 表示,则改变 w 的值即改变了画笔的粗细。选择菜单绘图→线宽选择划线宽 度值,此时所选的线宽值就赋给线宽变量 w。若不选择线宽值,则 w=1( 即默认 线宽值为 1) 。 改变线型 在 OnPaint()创立的画笔中, pen.CreatePen(penstyle,w,m_nColor) ,线型处用 penstyle 表示,则改变 penstyle 的值即改变了画笔的种类。选择菜单绘图→线型 选择线型,此时所选的线型就赋给线型变量 penstyle。若不选择线型值,则 penstyle=ID_SOLID(即默认线型为实线 ) 。 改变线色 在 OnPaint()创立的画笔中, pen.CreatePen(penstyle,w,m_nColor) ,线的颜色处用 m_nColor 表示,则改

文档评论(0)

1亿VIP精品文档

相关文档