9-MFC框架理论

MFC框架理论

1.CDocTemplate、CDocument、CView、CFrameWnd 关联关系:

  • CWinApp 拥有一个对象指针:CDocManager * m_pDocManager

  • CDocManager 拥有一个指针链表 CPtrList m_templateList,用来维护一系列的 DocumentTemplate。应用程序在 CMyWinApp::InitInstance 中以 AddDocTemplate 将这些 Document Templates 加入到有CDocManager 所维护的链表之中。

  • CDocTemplate 拥有三个成员变量,分别持有 Document、View、Frame 的 CRuntimeClass 指针,另有一个成员变量 m_nIDResource,用来表示此 Document 显示时应该采用的 UI 对象。这四份数据在CMyWinApp::InitInstance 函数构造 CDocTemplate 时指定,称为构造函数的参数。

  • CDocument 有一个成员变量 CDocTemplate * m_pDocTemplate,回指其 DocumentTemplate;另外有一个成员变量 CPtrList m_viewList,表示它可以同时维护一组 Views。

  • CFrameWnd 有一个成员变量 CView * m_pViewActive,指向当前活动的 View。

  • CView 有一个成员变量 CDocument * m_pDocument,指向相关的Document。