MFC画笔程序实验报告

MFC画笔程序实验报告

ID:38217508

大小:56.09 KB

页数:9页

时间:2019-06-07

MFC画笔程序实验报告_第1页
MFC画笔程序实验报告_第2页
MFC画笔程序实验报告_第3页
MFC画笔程序实验报告_第4页
MFC画笔程序实验报告_第5页
资源描述:

《MFC画笔程序实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、功能说明1、在画图之前,点菜单【画笔】,设置画笔之后才能绘图图1、画笔设置2、左侧工具条依次对应直线、自由画线、实体矩形、实体圆形、实体椭圆、选中区域、擦除功能图2、图形绘制及编辑3、选中区域后删除,点击菜单【编辑删除选定区域】,即可完成删除功能4、颜色设置,点击菜单【颜色】,弹出颜色对话框,选中颜色图3、颜色设置3、背景设置,点击菜单【背景设置】,弹出对话框,选择“是”加载默认位图资源图4、背景设置6、点击保存按钮,生成图片保存到工程文件的文件夹中问题分析建立MFC单文档工程文件:Draw一、画图程序支持画直线、自由连线(随鼠标

2、移动连线)、实体圆形、实体矩形、实体椭圆。在主窗口中添加工具条,工具条上有直线、自由连线、实体圆形、实体矩形、实体椭圆的的图标,命名为IDR_DRAWFRAME,在CmainFrame的OnCreat函数中将工具条加载上去,函数名为:LoadToolBar二、支持区域选中(通过鼠标拖拽方框选中),并删除选中区域内所画的形状。鼠标拖拽方框选中:可以设计绘制为背景为透明色的矩形删除选中区域即将选中矩形上的图像去掉,变为系统白色区域,即:设计矩形填充为白色三、支持各种笔形画图时的前景色和背景色前景色:在菜单中添加颜色菜单,单击颜色菜单,弹

3、出颜色选择框,选择颜色对画笔的颜色进行设置。背景色:在菜单栏中添加背景设置按钮,选择背景设置,则默认设置图画位图背景为选定的文件四、支持图擦功能,选中图擦时,随着图擦的移动,根据图擦的大小,将图擦经过的区域中的形状相关部分清除。在工具条上添加擦出按钮,随着鼠标的移动,鼠标经过的区域图形消失,采用InvalidateRect函数、五、支持打印、打印预览功能,并保持图片所见即所得。在视图窗口绘制图形是在逻辑坐标系中展示的,而打印设备对应的是物理坐标系。为了实习所见即所得,需要继续逻辑坐标系到物理坐标系的转换。六、支持将所画的内容保存为文

4、件,格式为BMP格式。在菜单【文件】中有“保存按钮”,点击此按钮,将所绘图形保存为.bmp文件。MFC没有提供文件的保存函数,需要自己设计算法,以完成.bmp文件的保存。首先当前显示的屏幕位图拷贝到BITMAP中,然后将BITMAP保存到内存中。方案设计一、画图程序支持画直线、自由连线(随鼠标移动连线)、实体圆形、实体矩形、实体椭圆。实现步骤:(1)在主窗口中添加工具条,工具条上有直线、自由连线、实体圆形、实体矩形、实体椭圆的的图标,命名为IDR_DRAWFRAME,在CmainFrame的OnCreat函数中将工具条加载上去,函数

5、名为:LoadToolBar(2)直线图标ID号为:ID_SLINE;自由连线图标ID号为:ID_CLINE;实体圆形ID号为:ID_ROUND实体椭圆图标ID号为:ID_ELLIPSE实体矩形ID号为:ID_RECTANGL(3)在CDrawView类中添加m_nDrawType变量控制画图类型,添加m-ptStart变量,保存鼠标起始点。为以上ID号添加COMMAND函数,分别为:OnSline()、OnCline()、OnRound()、OnRectangle()、OnEllipse()。函数中控制m_nDrawType的值,

6、以控制图形类型(4)在CDrawView类中添加成员函数OnLButtonDown、OnLButtonUp和OnMouseMove,OnLButtonUp中完成直线、实体圆形、实体矩形、实体椭圆的绘制;OnMouseMove中完成自由连线的绘制。(5)为保证视图窗口刷新时,图形能够再现,添加类CGraph,此类中包含变量nFlags(控制OnMouseMove函数)、m_nDrawType(绘图类型)以及m-ptStart和m-ptEnd(鼠标起始点)(1)在CDrawView中添加CptrArray类型变量m_ptArray,在O

7、nMouseMove,OnLButtonUp函数中将nFlags、m_nDrawType以及m-ptStart和m-ptEnd保存到中。(2)在OnDraw函数中利用m_ptArray中的信息,将视图中的图形再现二、支持区域选中(通过鼠标拖拽方框选中),并删除选中区域内所画的形状。实现步骤:(1)在工具条IDR_DRAWFRAME上添加区域选中图标,ID号为ID_SELECT。当按下此图标时,在视图区拖拽,绘制线条为PS_DOT型的矩形框,填充色为透明色。(透明色背景设置问题)(2)在编辑菜单中设置删除选项,ID号为ID_DELET

8、E,在CdrawView中添加删除按钮对应的函数OnDelete,函数完成任务:在拖拽形成的矩形区内绘制白色背景、白色画笔的矩形,将此处绘制的图形变为白色。此时注意:OnDraw函数中,重绘也要完成相同操作。三、支持各种笔形画图时的前

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

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

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