我新建了一个MFC的类叫CTest,它从CView类派生,这个类好像也是自动实例化的,不可能自己再去实例化它了,如何在这个工程自带的CProjectView类中访问CTest中的一个公有函数啊?

解决方案 »

  1.   

    在一个CPP中,建立一个全局的CView* gTest然后在CTest的构造函数中gTest = this;然后再CProjectView中就可以通过这个全局的gTest访问CTest了。
      

  2.   

    在一个CPP中,建立一个全局的CView* gTest然后在CTest的构造函数中
    ...不可取
    getmainwnd->getactiveview或者关联文档,去文档里找
      

  3.   

    参考这两个函数:GetFirstViewPosition()和GetNextView()
      

  4.   

    http://www.qqread.com/vc/e982918200.html
    谢谢
      

  5.   

    CView* CTestAView::GetView(CRuntimeClass* pClass)
    {
    CTestDoc* pDoc=(CTestDoc*)GetDocument();
    CView* pView;
    POSITION pos=pDoc->GetFirstViewPosition();
    while(pos!=NULL){
    pView=pDoc->GetNextView(pos);
    if(!pView->IsKindOf(pClass))
    break;
    }
    if(!pView->IsKindOf(pClass)){
    AfxMessageBox("Connt Locate the View.");
    return NULL;
    }return pView;
    }