实验九基于文档视图结构的MFC简单应用程序框架设计

实验九基于文档视图结构的MFC简单应用程序框架设计

ID:41726005

大小:54.70 KB

页数:4页

时间:2019-08-30

实验九基于文档视图结构的MFC简单应用程序框架设计_第1页
实验九基于文档视图结构的MFC简单应用程序框架设计_第2页
实验九基于文档视图结构的MFC简单应用程序框架设计_第3页
实验九基于文档视图结构的MFC简单应用程序框架设计_第4页
资源描述:

《实验九基于文档视图结构的MFC简单应用程序框架设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验九基于文档/视图结构的MFC简单应用程序框架设计(4学时)[实验目的]1.基木掌握Windows环境下MFC程序的开发流程和方法;2・基木掌握MFC中的文档/视图框架体系的简单编程方法;[实验内容与步骤]创建一个单文档的MFC工程,在其中实现简单的“涂鸦”操作。界面如图9-1所示,实现如下功能:图9・1、程序运行界而图(1)用户在视图窗口中按下鼠标左键,并拖动鼠标时,在窗口中即可进行“涂鸦”操作,用户釋放鼠标键时,绘图结束。(2)在文档类中设计一•个数组,以保存视图窗口所绘制的线条处标。使当窗口重绘时,能够重现已绘图形。[MFC编程要点]1.视图类对象代表了应用程序的窗口客八区,是文

2、档等信息的一个显示窗口,亦为用户与程序间进行数据交互的桥梁。2・本实验中,一旦鼠标在窗I」客户区内有所动作,则MFC将有关消息传递给视图类对彖进行处理。[VC编程实现]1、使用AppWizard创建一个单文档的MFC工程test9(在对话框“MFCAppWizard-Step1”中选中“Singledocument”,各项设置均取默认值);2、在视图类的头文件tcst9Vicw.h中声明冇关的成员变量:protected:boolm_bDraw;〃绘图标识HCURSORm_Hcursor;〃光标对彖CPointm_pOld;〃记录鼠标位置在视图类CTest9View的构造函数中对上述成员

3、变量进行初始化:CTcst9Vicw::CTcst9Vicw(){//TODO:addconstructioncodeherem_bDraw=FALSE;〃载入“十字”光标m_Hcursor=AfxGctApp()->LoadStandardCursor(IDC_CROSS);}注:红色内容为vc自动主成的代码(卜-同)。3、点击菜单项View->ClassWizard,使用ClassWizard为视图类CTest9View添加消息WM_LBUTTONDOWN,定义消息响应函数,实现按下鼠标左键的相关绘图操作。ClassWizard操作如图9-2所示。有关代码为:MFCClassWiza

4、rdMessageMaps

5、MemberVariables

6、Automation

7、ActiveXEvents

8、ClassInfo

9、Eroject:Classname:

10、test9

11、cTest9View刁E:..Mest9test9test9View.h,E:..test9test9View.cppObjectIDs:Messages:AddC[ass・・・▼

12、AddFunctionDeleteFunctionAPP_ABOUTAPP^EXITEDlfCOPYEDIT.CUTEDIT_PASTEEDIT_UNDOWM_HELRNFOWMWMWMWMHSCROLLKEYDOWNKEY

13、UPKILLFOCUSWMLBUTTONDBLCLKWMLBUTTONDOWNMemberfunctions:VOnBcginPrintingVOnDrawVOnEndPrintingVOnPrcparcPrintingVPrrCreateWindowDescription:IndicateswhenleftmousebuttonispressedEditCodeCancelSetCursor(m_Hcursor);m_bDraw=TRUE;m_pOld=point;SetCapture();CRectrect;GetClientRect(&rect);ClicntToScrccn(&i

14、cct);ClipCursor(rect);图9-2使丿IJClassWizard为CTest9View添加消息WM_LBUTTONDOWNvoidCTcst9Vicw::OnLButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefault〃使用新光标〃进入绘图状态〃捕捉鼠标〃获取客户窗口矩形区域〃转换为屏幕坐标〃限定鼠标不能移出客户窗11CView::OnLButtonDown(nFlags,point);同理,使用ClassWizard为视图类CTest9View添加消息

15、WM.LMOUSEMOVE和LBUTTONUP,并定义消息响应函数,实现移动鼠标和释放鼠标左键的相关绘图操作。有关代码为:voidCTest9View::OnMouseMove(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultif(m_bDraw){CClientDCdc(this);〃获取客户窗UDCdc.MoveTo(m_p

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

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

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