(CHBCView *)((CMainFrame *)(AfxGetApp()->m_pMainWnd))->GetActiveView()
得分啦!

解决方案 »

  1.   


    从全局取视嘛...以前有很多这类的贴子.如果是MDI多文档与SDI单文档界面略有不同...
    步骤:
    先全局取框架
    用框架取CHILD窗口(对于MDI来讲)
    用上面取的窗口取活动视
    取视这个操作可以写成全局函数....因为入口取框架可以用全局函数取得
    下面是MSDN上MDI的一个例子:
    CMDIFrameWnd *pFrame = 
                 (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;// Get the active MDI child window.
    CMDIChildWnd *pChild = 
                 (CMDIChildWnd *) pFrame->GetActiveFrame();// or CMDIChildWnd *pChild = pFrame->MDIGetActive();// Get the active view attached to the active MDI child
    // window.
    CMyView *pView = (CMyView *) pChild->GetActiveView();如果是SDI,那么:
    CMyView *pView = NULL;
    CFrameWnd* pWnd = AfxGetApp()->m_pMainWnd;
    if (pWnd)
    {
       pView = (CMyView*)pWnd->GetActiveView();
    }