




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
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线宽1ID_W1实线ID_SOLID 线 矩ID_RECT线宽2ID_W2虚线ID_DASH 形 椭ID_ELLIPS线宽3ID_W3点线ID_DOT 圆E 颜ID_COLOR线宽4ID_W4点段线ID_DASHDOT 色 填ID_FILLCO线宽5ID_W5 充LOR 色 建立类向导,在视图类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从系统中引入的颜色选择对话框,选择颜 色后,点击确定则相应颜色值就赋给变量m_nColor,此时画笔的颜色就会发上 变化。若不选择颜色,则默认(线)颜色为黑色。 4.改变填充色 在OnPaint()创建的画刷中,brush.CreateSolid

王子****青蛙
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx