MFC获取视图类指针

一个基于SDI的应用程序,自己写了一个general类,该类需要获取视图类传过来的值,

或者需要调用View类的某个成员函数,此时,我们就需要获取View类的指针~~

该类的函数中,添加如下代码:

CMainFrame *pMainFrame= (CMainFrame*)AfxGetApp()->m_pMainWnd;   
CSXS_testView  *pView=(CSXS_testView *)pMainFrame->GetActiveView();

pView->PbCapContinue(); // PbCapContinue为View类的成员函数~~


另外,在某个类(设类名为A)中,要调用View类的OnXXX()响应函数,

我们在上面获取了pView这个指针,正常来说,可以用

pView->OnXXX(); 的方式来调用,但实际上不行,

应该在View类中,有一个函数将OnXXX()封装一下,如:

void CSXS_testView::PbCapContinue()
{
    OnCapContinue();
}

再在A类中,用pView->PbCapContinue();的方式来调用~~

你可能感兴趣的:(MFC获取视图类指针)