文檔視圖相關類的聯繫

CWinApp    

1.保護成員CDocManager *m_pDocManager,指向一個文檔管理對象,CWinApp很多對文檔視圖的操作都是調用這個對象的方法        

 2.GetFirstDocTemplatePosition和GetNextDocTemplate用來遍歷所有的文檔模板,實際是掉用CDocManager的此方法        

3.AddDocTemplate:把DocTemplate加入到CDocManager的m_templateList中統一維護 

4.OpenDocmentFile:打開一個文檔        

 5.CloseAllDocment:關閉所有文檔        

6.OnFileNew和OnFileOpen:新建或打開一個文檔,在此操作中把子窗口和view一併創建了出來。    

CDocment:

     1.一個指向文檔模板的指針:CDocmentTemplate *m_pDocTemplate

      2.一個保護成員,保存所有和本文檔相關的view,CPtrList *m_viewList,對外提供多種方法操作這個指針數組

CView

     1.一個保護成員m_pDocment,指向次view關聯的docment,以及對次成員的操作接口

CFrameWnd:

     1.   一個保護成員m_pViewActive:當前活動的view。已經對此成員的操作接口

CDocManager:

    1.保護成員CPtrList m_templateList:維護所有調用CWinApp中AddTemplate加入的文檔模板。

CMutiDocTemplate和CSingleDocTemplate

   1.GetFirstDocPosition和GetNextDoc遍歷所有Docment

   2.CreateNewDocment:用構造函數傳過來的Docment的Runtimeclass創建一個Docment

   3.CreateNewFrame:用構造函數傳過來的Frame的Runtimeclass創建一個Frame 

   4.三個保護成員,分別存儲Docment,view和frame的RuntimeClass。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章