我想创建一个单文档/视图结构的程序,其中视图类的基类为CFormView,因为程序的主界面我使用对话框模版
希望完成的功能:根据不同菜单命令,我需要在view里显示不同的对话框,并且响应不同的控件消息,那么程序应该如何写?
在CWinApp::InitInstance里创建了单文档视图结构之后,以后是否还能修改这个结构里的view?

解决方案 »

  1.   

    http://www.codeguru.com/Cpp/W-D/dislog/article.php/c5009/
    http://www.codeguru.com/Cpp/W-D/dislog/article.php/c5007/
      

  2.   

    我用下面的代码试了一下:
    void CMainFrame::OnTest() 
    {
    // TODO: Add your command handler code here
    CCreateContext pContext;

    pContext.m_pCurrentDoc = new CTestDoc;
    pContext.m_pNewViewClass = RUNTIME_CLASS(CTestView1);
    m_pView1 = (CTestView1 *)(this->CreateView(&pContext));
    ASSERT(m_pView1);
    m_pView1->ShowWindow(SW_SHOW);
    this->UpdateWindow();
    }
    那么新创建的view什么时候删除?还是由mainframe自动删除?
    有个问题:新创建的view还是无法显示,除非我把窗口resize才看得见,而且上面的button都无法点击,这是为何?