我将窗口切为左右两块,左侧的CView类中,想加入一个CReBar类,ReBar在MainFrm中被Create,而后要在左侧的CView类初始化时,加入到一个CDialog中,代码如下:
void CLeftView::OnInitialUpdate() 
{
    CView::OnInitialUpdate();
    CMainFrame  * pFrame;
    pFrame = (CMainFrame *)GetParent();//pFrame 指向主框架    //===Add a Control bar into view===//
    m_wndPlay = new CDlgPlay;
    if(!m_wndPlay->Create(IDD_PLAY, this))
    {
TRACE0( "Failed to create dialog bar m_wndTopControl\n" );
return ; // fail to create
    }

    if (!pFrame->m_wndReBar.AddBar(m_wndPlay))
    {
TRACE0("Failed to create rebar\n");
return ;      // fail to create
    }
}
结果老报出错,请大侠指点一下

解决方案 »

  1.   

    pFrame = (CMainFrame *)GetParent();//此处pFrame 实际没有指向主框架应该改为pFrame = (CMainFrame *)GetMainWnd();//pFrame 指向主框架
      

  2.   

    为什么程序说GetMainWnd()未定义
      

  3.   

    CView::OnInitialUpdate();
        CMainFrame  * pFrame;
        pFrame = (CMainFrame *)GetParent();//pFrame 指向主框架    //===Add a Control bar into view===//
        if(pFrame)
    {
        m_wndPlay = new CDlgPlay;
        if(!m_wndPlay->Create(IDD_PLAY, this))
        {
    TRACE0( "Failed to create dialog bar m_wndTopControl\n" );
    return ; // fail to create
        }

        if (!pFrame->m_wndReBar.AddBar(m_wndPlay))
        {
    TRACE0("Failed to create rebar\n");
    return ;      // fail to create
        } }
      

  4.   

    楼上弄错了吧?
    切分窗口中VIEW的父窗是主框架?
    那m_wndSplitter是什么?