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; } 转载于:https://www.cnblogs.com/mjgforever/archive/2007/09/16/895107.html