文档/视图(01):第一个Demo】的更多相关文章

学习文档视图编程的第一个demo,程序比较简单,主要对文档模板,文档,视图等相互关系的一个了解. 功能:菜单添加一个[操作]项,然后新建四份空白文档,点击[操作]之后,在四份空白文档上面各绘制一个Button按钮. 思路: 经过应用程序的InitInstance()函数调用,事实上已经产生了两个结果 第一:建立了一个多文档模板,也就是一份MultiDocTemplate.第二:同时,创建了一份框架.视图和Document.(也就是新建一份空白没有任何内容的三组内容) 文档模板即是打开文件的相关格…
k_eckel:http://www.mscenter.edu.cn/blog/k_eckel 文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦.然而,虽然我们使用MFC AppWizard就可以很轻松地获得一个支持Document/View Architecture的MFC程序框架,Document/Vi…
在视图应用程序中,应用程序的数据由文档对象代表,数据的视图由视图对象代表.MFC的Cdocument类是文档对象的基类,Cview类是视图对象的基类.应用程序的主窗口,其操作功能在MFC的CframeWnd和CMDIFrameWnd类中实现,已经不再以消息处理为工作焦点了,主要用作视图.工具栏以及其他用户界面对象的容器. 单文档界面应用程序只支持打开一个文档. 1.  文档.视图基础知识.   图1展示了SDI文档.视图应用程序的示意图.框架窗口是应用程序的顶层窗口,通常带有WS_OVERLAP…
本人想设计一个但文档视图的界面: |--------------------------------------------------------------- |   Ribbon Bar |---------------------------------------------------------------- | doucment |------------------------------------------------------------- 实现方法: 1. 先用En…
一.如何创建文档视图界面: 创建新的文档视图界面,只需要调用CDocTemplate::OpenDocumentFile(strpath)即可.(strpath为要打开的文档路径,如果是NULL,则生成新的文档). 二.上面这个函数为何能够生成文档视图对象? 因为 1.它调用了CDocTemplate::CreateNewDocument()函数生成了CDocument对象: 2.它调用了CDocTemplate::CreateNewFrame()函数生成了CFrameWnd对象: 3.在生成文…
在MFC中可以创建多种类型的窗口程序,如对话框程序.单文档结构程序(非文档/视图结构).单文档(文档/视图结构)以及多文档视图结构程序等. 在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对话框的程序不支持视图类,有些功能实现起来会麻烦许多.此时我们可以使用CFormView作为基类来创建单文档(非文档/视图结构)和单文档(文档/视图结构)的程序. 一.使用MFC向导创建程序 (1)单文档(文档/视图结构) (2)不需要状态栏和工具栏 (3)使用CFormView作为基类 (4)使用向…
在MFC中可以创建多种类型的窗口程序,如对话框程序.单文档结构程序(非文档/视图结构).单文档(文档/视图结构)以及多文档视图结构程序等. 在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对话框的程序不支持视图类,有些功能实现起来会麻烦许多.此时我们可以使用CFormView作为基类来创建单文档(非文档/视图结构)和单文档(文档/视图结构)的程序. 一.使用MFC向导创建程序 (1)单文档(文档/视图结构) (2)不需要状态栏和工具栏 (3)使用CFormView作为基类…
文档/视图概述 为了统一和简化数据处理方法,Microsoft公司在MFC中提出了文档/视图结构的概念,其产品Word就是典型的文档/视图结构应用程序 MFC通过其文档类和视图类提供了大量有关数据处理的方法 分为数据的管理和显示,文档用于管理和维护数据,视图用来显示和编辑数据 什么是文档 文档的概念在MFC应用程序中的适用范围很广,一般说来,文档是能够被逻辑地组合的一系列数据,包括文本.图形.图象和表格数据. 一个文档代表了用户存储或打开的一个文件单位.文档的主要作用是把对数据的处理从对用户界面…
在文档试图应用程序,有时需要在工作区切换试图,以下就是如何切换试图了 .创建要切换的视图类,同时把构造函数,Create函数改变为public .在需要切换试图的动作响应中,加入切换代码,一般是在CMainFrame的菜单响应中加: void CMainFrame::On32771() { // TODO: Add your command handler code here CView *pOldActiveView=GetActiveView();//旧视图 CMyView *pNewAct…
Q: 在反序列化 Xml 字符串为 Xml 对象时,抛出如下异常. 即在 XML文档(0, 0)中有一个错误:缺少根元素. A: 首先看下代码: StringBuilder sb = new StringBuilder(); using (MemoryStream stream = new MemoryStream()) { StreamWriter writer = new StreamWriter(stream); writer.Write(sb.ToString().Trim()); wr…