文档介绍:该【《文档视图框架》 】是由【相惜】上传分享,文档一共【26】页,该文档可以免费在线阅读,需要了解更多关于【《文档视图框架》 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。文档/视图框架编辑课件根本内容文档/视图框架序列化CFile不适用的情况编辑课件编辑课件CCmdTargetCWinThreadCWinAppCWndCFrameWndCObject主要负责初始化、运行和结束应用程序的执行。负责管理操作数据及显示,并接收用户的输入。结论:CFrameWnd派生类的负担过重。编辑课件一、文档/视图框架也是一种MVC架构Model——DocumentView——ViewController——DocumentTemplate将数据操作和数据显示、用户界面别离程序每翻开一个文件时,创立3个对象:一个文档对象一个视图对象一个窗口框架对象由文档模板对象负责管理文档、视图和框架窗体对象。编辑课件CDocument::UpdateAllViews(…)CDocument::Serialize()该函数一般需要在文档子类中重载voidSXXXDoc::Serialize(CArchive&ar){if(()){//向文件中写数据〔ar<<〕}else{//从文件中读数据(ar>>)}}文档类的常用成员函数编辑课件视窗类中的OnDraw成员函数每次当视窗需要被重新绘制时,应用程序框架就要调用OnDraw函数。驱使程序调用OnDraw的两个途径:用户改变窗口的尺寸;窗口恢复先前被遮盖的局部;应用程序改变了窗口数据;程序中调用Invalidate〔或者InvalidateRect〕,通知Windows调用OnDraw函数编辑课件常用视图类CScrollView:提供自动滚动或缩放功能。CFormView:由对话框模板创立,并具有和对话框一样的设计方法。CRecordView:提供表单视图直接与ODBC记录集对象关联;和所有的表单视图一样,CRecordView也是基于对话框模板设计的。CEditView:提供包含编辑控件的视图CRichEditView:提供包含复合编辑控件的视图CListView:提供包含列表控件的视图。CTreeView:提供包含树状控件的视图。编辑课件相互引用关系CDocument有一个成员变量CDocTemplate*m_pDocTemplate,用于回指其DocumentTemplate;另有一个成员变量CPtrListm_viewList,表示它可以同时维护一系列的Views。CFrameWnd有一个成员变量CView*m_pViewActive,指向目前正作用中的View。亦可用CFrameWnd::GetActiveView()获得视图对象指针CFrameWnd::GetActiveDocument()获得当前活动的文档对象指针。CView有一个成员变量CDocument*m_pDocument,指向相关的文档Document。CWnd::GetParentFrame可实现从视图类中获取主框架指针。编辑课件文档视图相互作用的典型实例切分窗口静态切分:窗口第一次被创立时,窗格就已经被切分好了。最大窗格数目为16×16。动态切分:允许用户在任何时候对窗口进行切分。最大窗格数目为2×2。举例:Graph一档多视举例:Rect编辑课件