CMDIFrameWnd* pMF = (CMDIFrameWnd*)(AfxGetApp()->m_pMainWnd);
CChildFrame* pCF = (CChildFrame*)pMF->MDIGetActive();
pCF->GetActiveView()//得到的是对话框总的view   CDocument* pDoc = pCF->GetActiveDocument();//这样得到的是空  应为我对话框中的view没有doc。请问如何获取 视图指针呢

解决方案 »

  1.   

    CDocument* pDoc = pCF->GetActiveDocument();//这样得到的是空  应为我对话框中的view没有doc。
        pDoc 是空的  所以   GetNextView 无法调用
      

  2.   

    给view指定资源ID,然后用GetDescendantWindow
    仅供参考!
      

  3.   

    晕!能将所有源代码发给我学习学习吗?[email protected]
      

  4.   

    //创建视图
    CCreateContext ctx1;
        ctx1.m_pCurrentDoc = NULL;   //这里修改过 之后 搞定了 
        ctx1.m_pCurrentFrame = NULL;
        ctx1.m_pLastView = NULL;
        ctx1.m_pNewDocTemplate = NULL;
        ctx1.m_pNewViewClass = RUNTIME_CLASS(CMyScrollView);
        m_pMyView = (CMyScrollView*)((CFrameWnd *)this)->CreateView(&ctx1);
        CRect rectClient;
        GetDlgItem(IDC_STATIC1)->GetClientRect(rectClient);
        GetDlgItem(IDC_STATIC1)->MapWindowPoints(this, rectClient);
        rectClient.DeflateRect(0,0);
     
       m_pMyView->MoveWindow(rectClient);
        m_pMyView->UpdateWindow();