框架、文档、视图类之间的调用关系1、主框架(CFrameWnd)中访问视图(CView)
框架、文档、视图类之间的调用关系  CView* GetActiveView() const;
框架、文档、视图类之间的调用关系  通常定义的视图为CView的派生类,在调用自定义视图对象的方法时
框架、文档、视图类之间的调用关系
框架、文档、视图类之间的调用关系应该这样写:((CMouseKeyView*)GetActiveView())->MyFunc();
框架、文档、视图类之间的调用关系
框架、文档、视图类之间的调用关系2、主框架(CFrameWnd)中访问文档(CDocument)
框架、文档、视图类之间的调用关系  GetActiveDocument,返回CDocument对象;
框架、文档、视图类之间的调用关系
框架、文档、视图类之间的调用关系3、在视图(CView)中访问文档(CDocument)
框架、文档、视图类之间的调用关系  inline CMouseKeyDoc* CMouseKeyView::GetDocument()
框架、文档、视图类之间的调用关系    {return (CMouseKeyDoc*)m_pDocument;}
框架、文档、视图类之间的调用关系
框架、文档、视图类之间的调用关系4、在视图(CView)中访问框架(CFrameWnd)
框架、文档、视图类之间的调用关系  CFrameWnd* GetParentFrame() const;
框架、文档、视图类之间的调用关系
框架、文档、视图类之间的调用关系5、在文档(CDocument)中访问框架(CFrameWnd)
框架、文档、视图类之间的调用关系  CWnd* AfxGetMainWnd();
框架、文档、视图类之间的调用关系  CWnd* AfxGetApp()->m_pMainWnd;
框架、文档、视图类之间的调用关系
框架、文档、视图类之间的调用关系6、在文档(CDocument)中访问视图(CView)
框架、文档、视图类之间的调用关系  UpdateAllViews
框架、文档、视图类之间的调用关系  功能:通知所有的视图文档已被修改的信息
框架、文档、视图类之间的调用关系  原型:
框架、文档、视图类之间的调用关系    void UpdateAllViews(
框架、文档、视图类之间的调用关系      CView* pSender,  // 要更新的视图指针,如果希望更新所有视
框架、文档、视图类之间的调用关系
框架、文档、视图类之间的调用关系图,将此参数设为NULL
框架、文档、视图类之间的调用关系      LPARAM lHint=0L, // 包含更改消息的通知
框架、文档、视图类之间的调用关系      CObject* pHint=NULL // 保管更改消息的对象
框架、文档、视图类之间的调用关系    }
框架、文档、视图类之间的调用关系
框架、文档、视图类之间的调用关系7、在其他类中访问文档类(CDocument)
框架、文档、视图类之间的调用关系  CDocument* GetDocument()
框架、文档、视图类之间的调用关系  {
框架、文档、视图类之间的调用关系    CFrameWnd* frm=(CFrameWnd*)::AfxGetMainWnd();
框架、文档、视图类之间的调用关系    ASSERT(frm);
框架、文档、视图类之间的调用关系    CDocument* pDoc=frm->GetActiveDocument();
框架、文档、视图类之间的调用关系    ASSERT(pDoc);
框架、文档、视图类之间的调用关系    ASSERT(pDoc->IsKindOf(RUNTIME_CLASS(CMouseKeyDoc)));
框架、文档、视图类之间的调用关系    return (CMouseKeyDoc*)pDoc;
框架、文档、视图类之间的调用关系  }
框架、文档、视图类之间的调用关系

相关文章: