windows程序设计实验指导书(5)视图-文档编程

windows程序设计实验指导书(5)视图-文档编程

ID:45567343

大小:72.00 KB

页数:6页

时间:2019-11-14

windows程序设计实验指导书(5)视图-文档编程_第1页
windows程序设计实验指导书(5)视图-文档编程_第2页
windows程序设计实验指导书(5)视图-文档编程_第3页
windows程序设计实验指导书(5)视图-文档编程_第4页
windows程序设计实验指导书(5)视图-文档编程_第5页
资源描述:

《windows程序设计实验指导书(5)视图-文档编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验五、文档-视图编程实验目的:1、了解windowsMDI程序的文档模板类的作用。2、掌握windows程序文档-视图框架的程序设计原理。3、知道视图的切分方法和单文档多视图的消息处理。实验要求:建立一个windowsMDI(多文档)应用程序,利用视图切分实现对文档中管理的字符串和色彩数据的多种视图的不同控制。实验指导:一、在VC++6.0环境屮建立一个多文档工程。在文档屮添加屈性项:public:CStringmstrData;//stringtextCOLORREFmcolorData;//colorforthestringtext重载OnNewDoc

2、ument()并添加数据初始化代码:BOOLCMultiViewDoc::OnNewDocument(){if(!CDocument::OnNewDocument())rcturnFALSE;//TODO:addreinitializationcodehere//(SDIdocumentswillreusethisdocument)m_strData="SampleDataString〃;m_colorData=RGB(0,0,0);returnTRUE;二、在工程屮添加另外两个视图类,一个视图用于控制显示的数据项的设置,一个视图用于颜色的显示。原来已生成的

3、视图则显示字符串。LJ1.利用资源编辑器添加一个如图所示的对话框资源,注意对话框的风格设为Ch订d类型。并在此基础上利用ClassWizard生成一个基于CFormView的视图类。显示文字〔Edit颜色「RedGreenCBlue在视图屮添加与文档相关的获取文档指针的方法,并添加控件的变量和对控件的消息映射处理。・h文件public://{{AFX_DATA(CControlView)enum{IDD二IDD_DIALOG1};CStringm_str;intm_iColor;//}}AFX_DATApublic:C*Doc*GetDocument();/

4、/Overrides//ClassWizardgeneratedvirtualfunctionoverrides//{{AFX_VIRTUAL(CControlView)protected:virtueilvoidDoDateiExchan£e(CDeiteiExchan^e*pDX);virtualvoidOnUpdate(CView*pScnder,LPARAMlllint,CObjcct*pllint);//}}AFX_VIRTUAL・cpp文件C*Doc*C^View::GetDocument()//non-debu百versionisinlineA

5、SSERT(m_pDocument->lsKindOf(RUNT1ME_CLASS(C*Doc)));return(C*Doc*)mpDocument;voidC*View::0nUpdate(CView*pSender,LPARAMlHint,CObject*pHint){//TODO:Addyourspecializedcodehereand/orcallthebaseclassC*Doc*pDoc二GetDocument();ASSERT_VALID(pDoc);m_str=pDoc->m_strData;if(pDoc->m_colorData二二R

6、GB(255,0,0))m_iColor二0;elseif(pDoc->m_colorData==RGB(0,255,0))m_iColor=1;elseif(pDoc->m_colorData==RGB(0,0,255))miColor二2;elsem_iColor=T;UpdateData(FALSE);}voidC*View::OnDataChange(){if(!UpdateData())return;C*Doc*pDoc二GetDocument();COLORREFcolor二RGB(255*(m_iColor二二0),255*(m_iColor=

7、=1),255*(m_iColor==2));BOOLbUpdate=FALSE;if(mstr!二pDoc->m_strData){""pDoc->m_strData=m_str;bUpdate=TRUE;}if(color!二pDoc->m_colorData){"pDoc->m_colorData=color;bUpdate=TRUE;}辻(bUpdate)//更新所有视图pDoc->UpdateAl1Views(this);2.添加另一个基于CView类的视图,并同样添加获取文档指针的方法和OnDraw()函数中的代码。voidC*View::OnD

8、raw(CDC*pDC){C*Doc*pDoc二Ge

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

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

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