CDocument::GetFirstViewPosition  CDocument::GetNextViewCMDIFrameWnd::MDIGetActive 

解决方案 »

  1.   

    是在先获得文档摸版,再获得文档指针,再获得各 view的指针
      

  2.   

    从文档模板里怎么得到VIEW指针,请详细一点说好吗?多谢!1
      

  3.   

    CMDIFrameWnd *pFrame = 
                 (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;// Get the active MDI child window.
    CMDIChildWnd *pChild = 
                 (CMDIChildWnd *) pFrame->GetActiveFrame();// Get the active view attached to the active MDI child
    // window.
    CMyView *pView = (CMyView *) pChild->GetActiveView();
      

  4.   

    CMDIFrameWnd *pFrame = 
                 (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;// Get the active MDI child window.
    CMDIChildWnd *pChild = 
                 (CMDIChildWnd *) pFrame->GetActiveFrame();// Get the active view attached to the active MDI child
    // window.
    CMyView *pView = (CMyView *) pChild->GetActiveView();
      

  5.   

    CMDIFrameWnd *pFrame = 
                 (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;// Get the active MDI child window.
    CMDIChildWnd *pChild = 
                 (CMDIChildWnd *) pFrame->GetActiveFrame();// Get the active view attached to the active MDI child
    // window.
    CMyView *pView = (CMyView *) pChild->GetActiveView();
      

  6.   

    各位,这位兄弟是要获得的是子窗口,而不是视图
    //用于子窗口向下循环是工具栏的相互切换
    CWnd * pWnd = MDIGetActive();
    BOOL bofTheclass;
    bofTheclass=pWnd->IsKindOf(RUNTIME_CLASS(CChildFrame));
    if(bofTheclass)//是此类
    {//当是向导子窗口时跳过
    MDINext();
    return;
    }
    else if(pWnd->IsKindOf(RUNTIME_CLASS(CMsgStatFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CTupCallFailAnalyzeFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CIsupCallFailAnalyseFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CInapServiceFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CInapErrorFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CAInterfaceMsgStatFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CAbisMsgStatFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CCapsMsgStatFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CMapErrorFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CTupCallFailTelFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CIsupCallFailTelFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CInapCallFailTelFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CMapCallFailTelFrame))
    )
    {
    DisplayStatsToolBar();
    }
    else if(pWnd->IsKindOf(RUNTIME_CLASS(CMapCallFailAnalyzeFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CIsupCallFailFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CMapCallFailFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CInapCallStaticFrame))
    )
    {
    DisplayCallFailAnalyzeToolbar();;
    }
    else if(pWnd->IsKindOf(RUNTIME_CLASS(CIsupCallFailTraceFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CTupCallFailTraceFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CInapCallTraceFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CMapCallTraceFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CAInterfaceCallTraceFrame))||
    pWnd->IsKindOf(RUNTIME_CLASS(CCapsCallTraceFrame))
    )
    {//属于此些类显示呼叫过程追踪工具栏
    DisplayCallTraceToolbar();
    }
    else if(pWnd->IsKindOf(RUNTIME_CLASS(CErlGraphFrame)))
    {//属于此些类显示爱尔兰曲线工具栏
    DisplayErlGraphToolBar();
    }
    else if(pWnd->IsKindOf(RUNTIME_CLASS(CTupCallFailFrame)))
    {//属于此些类显示呼损工具栏
    DisplayCallFailToolbar();
    }
    else if(pWnd->IsKindOf(RUNTIME_CLASS(CParchCodeFrame)))
    {//属于此些类显示通用测试工具栏
    DisplayNormalToolBar();
    }
    else
    {
    ;
    }
      

  7.   

    POSITION pos=this->GetFirstDocTemplatePosition();
    while(pos!=NULL)
    {
    CMultiDocTemplate* pDocTemplate1=(CMultiDocTemplate *)             this->GetNextDocTemplate(pos);  
    POSITION DocPos=pDocTemplate1->GetFirstDocPosition();
    while(DocPos!=NULL)
    {
    CLayoutDoc* pDoc=(CLayoutDoc*)pDocTemplate1->GetNextDoc(DocPos);
    POSITION PosView=pDoc->GetFirstViewPosition();
                    while(PosView!=NULL)
                         {
                                  CView* pView=pDoc->GetNextView(PosView);
                          }
    }
    }
    这里的clayoutDoc,cView,可以选择你自己的类:
      

  8.   

    你是要得到的是cview,还是如工具栏,状态栏这样的子窗口?