能不能实现在MDI窗口中一个MDIChildFrame对应几个不同的
Document/View,并能切换啊!?

解决方案 »

  1.   

    同意楼上
    你怎么会这样想呢,为什么觉得MDIChildFrame对应同一
    Document/View
      

  2.   

    在添加文档模板时用同一个MDIChildFrame的继承类的RUNTIME_CLASS就可以了。
      

  3.   

    MFC确实在默认的情况下是这样的,但是为什么不可以改变呢?
    但是象MFC提供的例子MFCBind,我对此做扩展,加入CHtmlView,这样就需要在同一个Frame下实现不同的Document/View切换了!
      

  4.   

    那如何控制view的显示和关闭那,不能在一开始就把所有的view都显示出来啊
      

  5.   

    wangcn(wangcn) 
    我需要的就是在开启一个child frame的时候,把和frame绑定的view都创建,
    再通过切换来show/hide相关的view!
      

  6.   

    我也正在搞这个问题大概就是:
    (1)添加三个类view,frame,doc分别对应 ,CView,CMDIChildWnd,CDocument基类
    (2)在App中添加CMultiDocTemplate* p*Template;
    p*Template = new CMultiDocTemplate(
    IDR_*TYPE,
    RUNTIME_CLASS(C*Doc),
    RUNTIME_CLASS(C*Frame), // 定制MDI子框架
    RUNTIME_CLASS(C*View));
    AddDocTemplate(pBounceTemplate);
    (3)生成部分
       POSITION curTemplatePos = GetFirstDocTemplatePosition(); while(curTemplatePos != NULL)
    {
    CDocTemplate* curTemplate =
    GetNextDocTemplate(curTemplatePos);
    CString str;
    curTemplate->GetDocString(str, CDocTemplate::docName);
    if(str == _T("*"))
    {
    curTemplate->OpenDocumentFile(NULL);
    return;
    }
    }
    AfxMessageBox(IDS_NO*TEMPLATE);