Try create two FormView class, when you open a childframe, insert the formview that you want.

解决方案 »

  1.   

    to:Julienjut(秋水) ->能不能具体到实现的代码to:tony1978(突击召唤师) ->能否具体一点,并且是否要建立哪个什么的模版?
      

  2.   

    你可以参考Winapp提供的InitInstance()中的如下代码,新建不同的文档摸板,
    CMultiDocTemplate* pDocTemplate;
    pDocTemplate = new CMultiDocTemplate(
    IDR_YONGDLTYPE,
    RUNTIME_CLASS(CYouAppDoc),
    RUNTIME_CLASS(CChildFrame), // custom MDI child frame
    RUNTIME_CLASS(CYouAppView));
    AddDocTemplate(pDocTemplate);
    然后使用:
        ps=app->GetFirstDocTemplatePosition();
        CDocTemplate* doct=app->GetNextDocTemplate(ps);//得到文档模版
        去得到不同的文档摸板,
      

  3.   

    to:ebigtiger(dadao) 非常感谢您,请问我自己定义的模版也是要加到CMyApp里面吗?
      

  4.   

    当然要加了,
    我昨晚写了一个关于文档/视的帖子,见
    http://www.csdn.net/expert/topic/299/299320.shtm
      

  5.   

    to:voidman()
      哥们,我越看越复杂,能不能简单的描述一下,我只想在菜单上有两个按钮,一个叫做数据察看,另一个是图形分析,两个按钮对应不同的view,为什么会有这么多的艰难?
      

  6.   

    看看Visual C++ 技术内幕,上面有一个很好的例程,很简单,要不我明天给一个,现在我得下班罗。
      

  7.   

    多谢,给到我的油箱吧:[email protected]
      

  8.   

    我只想在菜单上有两个按钮,一个叫做数据察看,另一个是图形分析,两个按钮对应不同的view,为什么会有这么多的艰难? 
      

  9.   

    文档/视模板是代表一个前台显示,后台分析保存数据的集合体,它的每一个实例具体就是开出来的窗口,比如"数据察看"模板,可以有"数据察看-1"窗口,“数据察看-2"窗口,这些窗口都是用"数据察看"模板产生的,如果你要打开"图形分析"的窗口,应该再建立一个"图形分析"的模板。文档,视,窗口,资源每个实例都有一套,所以不是你理解的"两个按钮对应不同的view"。其实程序不一定要用文档/视结构,不过一般的MDI程序用是没有问题的
      

  10.   

    兄弟,好像深入浅出MFC这本书中有相关的例子!
    搞个电子版看看!是老候写的
      

  11.   

    其实是使用文档中的m_viewList,对每一个文档(使用一个连表保存)中的每一个视图操作、存储即可
      

  12.   

    硬盘里已经没有了,只好重做一个MDI多视图演示程序to TangDynasty(用少林武功编程序!?有搞头吗?)
    这只是演示,不是完整程序,说明问题就行了
    源程序已经上传,下载地址
    http://www.csdn.net/filebbs/read_topic.asp?id=608
    29.4K
      

  13.   

    实际上就是每一块都要有自己的Doc类,View类以及Frame类,这样就可以任意生成子窗体,任意对子窗体进行操作(比如加控件等)。
    向导生成程序后,首先对第二个模块添加Doc类,View类以及Frame类这三个类,然后在文档模版中注册,然后在String Table中设置,然后在菜单中设置激活该模块的代码,就可以了,以后对该模块的所有操作就象是在SDI的程序中那样在自己的Doc类,View类以及Frame类中作。
    其它模块也同理,你可以加任意多个。
    具体代码:
    步骤如下:(以添加CtryDoc,CtryView,CtryFrame为例)
    1。添加三个类(注意如是FormView的,还需要添加一个基于Formview的对话框,并且视类继承CFormView);
    2.添加一个Menu(第二个模块要用);名为IDR_TRYTYPE
    3.在App的InitInstance()中注册:代码放在主注册模版的下面
      CMultiDocTemplate* pTakeTemplate;
    pTakeTemplate = new CMultiDocTemplate(
    IDR_TRYTYPE,
    RUNTIME_CLASS(CtryDoc),
    RUNTIME_CLASS(CtryFrame), 
    RUNTIME_CLASS(Ctryview));
    AddDocTemplate(pTakeTemplate);
    4。在String Table 中添加new string:ID为IDR_TRYTYPE,Caption为\ntry\ntry\n\n\ntry.Document\ntry Document,其他名字只需把try换一下名
    5。如何激活:
    可以利用文件菜单中新建命令激活,也可以用代码:
    POSITION curTemplatePos = GetFirstDocTemplatePosition();
        
    while(curTemplatePos != NULL)
    {    
    CDocTemplate* curTemplate =
    GetNextDocTemplate(curTemplatePos);
    CString str;
    curTemplate->GetDocString(str, CDocTemplate::docName);
    if(str == _T("try"))  //其他模版只需把try换名
    {
    curTemplate->OpenDocumentFile(NULL);
    return;
    }
                    }
    然后就可以用了那三个类的基类是CDocument,CFormView(视类随便),CMDIChildWnd 
      

  14.   

    非常感谢各位的帮助,在各位的帮助下,这个问题在下终于明白了。在csdn上结识了众多的好
    友,给了我无私的帮助。在下准备将此贴再加多150分,用300分买单来感谢各位的积极的参与和
    大力的支持。衷心的谢谢你们!