怎样在基于对话框的工程中添加文档/视图架构?????????

解决方案 »

  1.   

    新建自己的CView类
    以及CDocument类并提供调用接口,
    在CView类里最多在加个CDocument类的对象
    有时候不一定非得按照MFC的格式来用,
    自己定义更灵活
      

  2.   

    看看MSDN MFC 例子里有个MDI的例子。
      

  3.   

    载对话框中打开新的视图:         
            // create new template
    if( !m_pTemplate )
    {
    m_pTemplate = new CSingleDocTemplate( IDR_MAINFRAME,NULL,
    RUNTIME_CLASS(CFrameWnd),
    RUNTIME_CLASS(CMSChartPrintView) );
    AfxGetApp()->AddDocTemplate(m_pTemplate);
    }
    // new/old frame
    CFrameWnd* pOldFrame=
    (CFrameWnd*)AfxGetThread()->m_pMainWnd;
    CFrameWnd * pFrameWnd = m_pTemplate->CreateNewFrame(NULL, NULL );
    if(pFrameWnd==NULL) return;
             m_pTemplate->InitialUpdateFrame( pFrameWnd, NULL);
    AfxGetApp()->m_pMainWnd=pFrameWnd;

    // 最大化特性
    CRect rc;
    rc.left=0;
    rc.top=0;
    rc.right =::GetSystemMetrics(SM_CXSCREEN);
    rc.bottom =::GetSystemMetrics(SM_CYSCREEN);
    pFrameWnd->MoveWindow(rc);
    pFrameWnd->SetWindowText(_T("报表预览"));
    pFrameWnd->ShowWindow(SW_SHOWMAXIMIZED);
    pOldFrame->ShowWindow(SW_HIDE);