none
【男儿膝盖有黄金,不能跪求。但真的很急】MFC中多文档的子文档 RRS feed

  • 问题

  • 本人想在多文档中创建一个子文档,子文档是一个对话框形式的(这样里面能够加入一些控件),首先我增加一个对话框并生成了一个类CChild1,然后再主菜单中加入一个按钮(添加消息响应),其消息响应代码如下:

    void CMainFrame::On32772()
    {
      if (m_pFuncTwoFrame != NULL)
      {
        m_pFuncTwoFrame->MDIActivate();
    
        return ;
      }
      m_pFuncTwoFrame = new CChildFrame();
      CMenu Menu;
      CCreateContext context;
      context.m_pNewViewClass = RUNTIME_CLASS(CChild1);
      //待创建的视图的CRuntimeClass
      //SetMenu(NULL);//移除当前菜单
    //  Menu.LoadMenuA(IDR_A_SUPPLIERS_ADD);
      HINSTANCE hInst = AfxGetResourceHandle();
    //  SetMenu(&Menu);//设置新的菜单
      //SetMenu(AfxGetApp()->m_pMainWnd->m_hWnd,m_hOPMenu);
      m_pFuncTwoFrame->LoadFrame(IDR_MAINFRAME,WS_CHILD | WS_OVERLAPPEDWINDOW,this,&context);
      
    //  m_pFuncTwoFrame->SetWindowText(_T("供应商资料—增加"));
    //  m_pFuncTwoFrame->ShowWindow(SW_SHOW);
      m_pFuncTwoFrame->InitialUpdateFrame(NULL,true);
      // TODO: 在此添加命令处理程序代码
    }
    
    其中CChildFrame* m_pFuncTwoFrame;<br/>并且m_pFuncTwoFrame = NULL;<br/>但是一点击总是运行到m_pFuncTwoFrame->InitialUpdateFrame(NULL,true);报错,具体是CRuntimeClass* pClassThis = GetRuntimeClass();这里<br/>敢问哪位大哥帮忙一下,真的好急!
    
    2010年8月4日 8:05

答案

  • 我猜你是要在多文档程序里面添加两种视图, 默认是一种,另外一种就是你上面说的FormView 形式的。 对于多视图,要在初始化时,在文档模板管理对象中做多视图绑定,诱骗文章,你可以参考一下:

    http://www.ityoudao.com/Web/VC_588_296.html

    • 已标记为答案 0度转身 2010年8月7日 4:10
    2010年8月4日 12:01
    版主

全部回复

  • 我猜你是要在多文档程序里面添加两种视图, 默认是一种,另外一种就是你上面说的FormView 形式的。 对于多视图,要在初始化时,在文档模板管理对象中做多视图绑定,诱骗文章,你可以参考一下:

    http://www.ityoudao.com/Web/VC_588_296.html

    • 已标记为答案 0度转身 2010年8月7日 4:10
    2010年8月4日 12:01
    版主
  • 是CFormView那种形式
    2010年8月5日 5:49