CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

100分求一视图/文档问题

楼主wu7104()2006-06-04 11:48:02 在 VC/MFC / 基础类 提问

我现在在我的sdi的程序上又加了一个ceditview(原来的视图也是基于ceditview的),做成了一个分割的界面,我现在要怎样弄才能把这两个ceditview与我的一个DOC关联起来,让这两个ceditview视图能够分别显示doc中不同的内容。(我的doc可以加标示,这样让ceditview视图,分别显示具有自己标示的部分)。  
   
   
  谢谢了。 问题点数:100、回复次数:17Top

1 楼syy64(太平洋)回复于 2006-06-04 11:50:27 得分 2

MSDN   MFC   example上有例子。Top

2 楼wu7104()回复于 2006-06-04 16:39:07 得分 0

有没有代码阿,多谢了。  
  我看到的例子,基本上都是视图切换阿。我这是分割的试图阿。  
  我这个是两个分割视图同时显示一个doc的不同部分内容阿。Top

3 楼handsomge(汗衫)回复于 2006-06-04 17:14:10 得分 1

CDocument::AddView  
   
  这样,View里面就可以调用GetDocument()得到当前文档了Top

4 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-06-04 19:11:46 得分 2

代码?  
  www.codeproject.com上不是一大堆?Top

5 楼ks_gq(键盘人生)回复于 2006-06-04 21:09:02 得分 3

如果你是在主框架窗口中利用CSplitterWnd来分割的窗口,   那你肯定是要重写的CFrameWnd::OnCreateClient   这个函数的,   默认是在这里创建视图,   你重写后就是创建分割窗口。   函数原型是:   virtual   BOOL   OnCreateClient(   LPCREATESTRUCT   lpcs,   CCreateContext*   pContext   );  
  //   其中   CCreateContext*   pContext。中就包含了与你这个框架窗口构成文档模板的Document的信息。  
   
  在实现OnCreateClient的时候你一定会调用CSplitterWnd::CreateView   来创建不同分割窗口的视图,   这个函数的原型是:virtual   BOOL   CreateView(   int   row,   int   col,   CRuntimeClass*   pViewClass,   SIZE   sizeInit,   CCreateContext*   pContext   );     注意他的最后一个参数也是CCreateContext*   pContext,   在这里你只要在创建不同分割窗口视图的时候,   都将这个参数用OnCreateClient的最后一个参数来作为传入参数,   那么不同分割窗口的视图就会和同一个Doc相关联了。  
    struct   CCreateContext       //   Creation   information   structure  
  //   All   fields   are   optional   and   may   be   NULL  
  {  
  //   for   creating   new   views  
  CRuntimeClass*   m_pNewViewClass;   //   runtime   class   of   view   to   create   or   NULL  
  CDocument*   m_pCurrentDoc;      
   
  //   for   creating   MDI   children   (CMDIChildWnd::LoadFrame)  
  CDocTemplate*   m_pNewDocTemplate;  
   
  //   for   sharing   view/frame   state   from   the   original   view/frame  
  CView*   m_pLastView;  
  CFrameWnd*   m_pCurrentFrame;  
   
  //   Implementation  
  CCreateContext();  
  };  
   
  与他们相关联的哪个Doc就是CCreateContext::m_pCurrentDoc了。Top

6 楼wu7104()回复于 2006-06-04 21:48:11 得分 0

分割窗体我做了,而且每次打开都有数据,但是每次代开的文档的内容都显示在左边的ceditview里面,比如说我要打开t.txt文件,文件内容如下:  
  1   aaa  
  2   bbb  
   
  我的目的就是要打开文件以后aaa显示在左边的ceditview中,bbb显示在右边的ceditview中。  
   
  另外,codeproject.com里面我也找过,没有。  
  addview,是添加视图,好像与我做的不一样。  
   
  我已经用分割窗体把两个view已经弄好了,现在就是不知道怎么同时显示一个文档对应的两个视图。  
   
  谢谢各位了,大家讨论一下阿,Top

7 楼license(序列号)回复于 2006-06-04 22:19:31 得分 12

已经转变为如何把数据显示到不同View中的问题了Top

8 楼wu7104()回复于 2006-06-05 07:45:47 得分 0

自己顶一下,希望大家都来讨论阿。哈  
   
  谢了Top

9 楼aabbaabbaa()回复于 2006-06-05 08:38:53 得分 80

我帮你顶一下,你也帮我顶一下吧,我的问题没人解决阿  
  http://community.csdn.net/Expert/topic/4799/4799988.xml?temp=.2282068Top

10 楼wu7104()回复于 2006-06-05 12:39:25 得分 0

自己再顶一下啊,各位大哥请帮忙啊.能否解决我六楼说的问题啊.  
  谢谢了Top

11 楼aabbaabbaa()回复于 2006-06-05 12:39:56 得分 0

你的问题我不会,再顶一下Top

12 楼aabbaabbaa()回复于 2006-06-05 12:46:08 得分 0

打开第2个文档使用第2个模版:  
                    CDocTemplate*   pDocT;  
  POSITION   pos;  
  pos   =   (theApp.m_pDocManager->GetFirstDocTemplatePosition());  
  pDocT=theApp.m_pDocManager->GetNextDocTemplate(pos);//这里面pos传进去有错误,我正在看怎么转换类型。  
  pDocT->OpenDocumentFile("c:\\aa.mm2");Top

13 楼wu7104()回复于 2006-06-05 16:57:16 得分 0

自己再顶一下啊,各位大哥请帮忙啊.能否解决我六楼说的问题啊.  
  谢谢了Top

14 楼wu7104()回复于 2006-06-05 22:03:20 得分 0

各位高手都去哪里了阿?  
   
  各位版主,高手大家多讨论一下阿。不要让这个问题沉了阿。  
   
  谢了阿Top

15 楼handsomge(汗衫)回复于 2006-06-05 22:24:26 得分 0

实际上问题已经解决了,你会一个视图,难道就不会多视图?  
   
  每个视图通过GetDocument()来获取各自需要的数据,视图A是怎么获得AAA的,同样视图B就怎样获得BBBTop

16 楼wu7104()回复于 2006-06-06 09:06:55 得分 0

晕,原来的框架好多都是mfc自己完成的阿。  
   
   
  我再试试,搞定了和大家分享。Top

17 楼wu7104()回复于 2006-06-06 10:12:24 得分 0

个人感觉打开的时候不能打开一个文档分开显示在两个视图中,因为那要程序把这个文档打开两次,这样是不允许的,我试了老是抱错。  
   
  但是在想能不能先把文档打开放在一个缓存中,然后进行处理,分别显示在两个视图当中,  
   
  我现在是把显示在两个ceditview中编辑的东西,按照左右关系保存到一个文档里面了,  
   
  虽然不能打开显示,但是可以存储了,也觉得小有成就了,哈哈  
  感谢各位的帮助。Top

相关问题

关键词

得分解答快速导航

  • 帖主:wu7104
  • syy64
  • handsomge
  • DentistryDoctor
  • ks_gq
  • license
  • aabbaabbaa

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo