欢迎来到天天文库
浏览记录
ID:27754282
大小:66.50 KB
页数:6页
时间:2018-12-05
《vc基于mfc简单绘图》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、利用MFC简单绘图实验报告一、实验0的1、了解学会VC++6.0集成环境操作界而的使用;2、使用MFC进行讨视化的编程;3、能够以交互方式在图形绘制区绘制点、直线、矩形、椭關;4、设置线条的颜色、线型和线条宽度,对绘制的图元进行线条和填充属性的修改;二、简单的功能介绍1、画点:通过OndotO函数实现2、脚百线:通过OnLineO函数实现。3、画矩形:通过OnRectangleO函数实现。4、画圆角矩形:通过OnRoundrectO函数实现。5、画椭圆:通过OnEllipseO函数实现。6、铅笔工具:可以画任
2、意线条。通过直接在OnMouseMove(UINTnFlags,CPointpoint)函数里而添加代码实现。7、心键弹出菜单:以在客户中点击鼠标布键,快速选择常川菜单。通过OnContextMenu函数实现。8、状态栏显示鼠标移动的來标:在程序的右下角显示,通过调川setWidnmvTextGetParent()实现。9、画阁颜色选择:可以画任何颜色的线条,通过OnColorO函数实现。10、线条类型及线宽的设置:可以将画出的线条设置成实线、虚线、点线、点划线,双点划线,还可以设置线条的粗细,通过实例这一功能
3、立刻显示所选择线条的粗细及线型。通过新建CLineSettingDlg类,其屮OnSelchangcLincStyle()函数实现线型的OnChangcEditLineWidthO闹数实现线觉的改变。再在CDrawView类巾凋用OnLineSettingO函数实现画笔的对话框,CLineSettingDlg类中的OnPaint()函数是实现示例功能的。11、窗口的重绘时不擦除原来的内界:新逑CShape类用来侃存线条的颜色,线宽,填充色等属性,在窗U人小发生变化吋有OnDraw(CDC*pDC)函数进行重绘工
4、作,重绘中调川了各个绘阁函数的Draw(CDC*pDC)函数。12、所绘阉形的保存于读取,通过Serialize(CArchive&ar)闲数进行序列化操作,将所绘阁形的信息通过文件的形式保存起来。三、模块设计与分析1、画图模块:该模块的人部份功能都写在了CDrawView类里面。该模块也足此次稈序的東点模块之一,主要负责画一些简单阁形,例如:直线、矩形、圆角矩形、椭圆、任意曲线(铅笔)等等;有线型、线宽的没置;还有画笔颜色和填充色的选择,讨以画各种各样颜色的线条;还包含的右键菜单设置的函数。2、窗I」模块:这
5、部分人多数都是编译器tl动生成,只做了一些修改,例如:使程序一开始运行便最人话,还是£)定义程序的标题。3、菜单模块:该部分同样大部分都是编译器自动牛.成的,自己增添了-•部分菜单例如:绘阁工具、颜色设置、线条设置等等。还有右键弹岀菜单,有颜色及线条设置等等,让使川者可以进行快速的操作。4、工具栏与状态栏模块:除了编译器自动生成的之外,还加入了画直线、矩形、圆允矩形、椭圆、铅笔等工具的快速选择,状态栏可以显示鼠标移动的來标。四、实验内容及步骤1、新建丄程MFCAppWizardSingledocument2、添
6、加菜单(点、直线、矩形、椭岡):(1)切换到资源视图(resourseview)——Menu——IDR_MATNFRAME(2)四个菜单项:IDMDOT点,IDMLINE线,IDM.RECTANGLE矩形,1DMELLIPSE椭圆(足在view类里,不能默汄成CMainFrame类里。切记切记。)(3)分别添加命令响应:右键——ClassWizard——view类中添加——COMMAND——AddFunction(Ondot,Online,Onrectangle,Onellipse)编辑代码3、仅存用户的选择:
7、view类里添加成员变景(类型UTNT)m_nDrawType(private)卯初始化为0,四个菜单项下分别设为1,2,3,4voidCLessonlOYiew::OnDot(){//TODO:Addyourcommandhandlercodeherem_nDrawType=l;}voidCLessonlOYiew::0nLine()//TODO:Addyourcommandhandlercodeherem_nDrawType=2;voidCLessonlOView::OnRectangle(){//TODO
8、:Addyourcommandhandlercodeherem_nDrawType=3;}voidCLessonlOView::OnEllipse(){//TODO:AddyourcommandhandlercodeheremnDrawType=4;}4、分别捕狭鼠标左键按卜和松开:右键AddWindowsMessageHander添加windows消思处理器——WL_LBUTTOND
此文档下载收益归作者所有