Document-View Interaction Functions視圖與文檔之間的通訊函數

MFC中的Document/View結構至關重要。Document負責存儲數據,View負責顯示數據。一個Document可以對應幾個View,而一個View只能同時顯示一個Document。Document、View和餘下的Application Framework之間有一個複雜的握手過程。要了解這個過程需要熟悉幾個函數:
1、CView::GetDocument
內聯函數,使一個View得到自己對應的Document。如果使View派生的類對象調用它,那麼將得到Document派生的類指針。
2、CDocument::UpdateAllViews
當存儲數據發生改變時,Document用此函數通知所有與它對應的View進行更新顯示內容。在CDocument的派生類中調用它時,省略第一個參數pSender;在CView的派生類中調用它時,pSender設爲this指針,以此告知函數不必通知本CView派生類不用更新。
3、CView::OnUpdate
虛函數。CView的派生類調用此函數以迴應CDocument::UpdateAllView。它訪問CDocument,取得CDocument數據並更新CView的成員變量或者控件。
4、CView::OnInitialUpdate
虛函數。當程序開始、點擊“新建”、“打開”菜單時,該程序將被調用。當重載此函數時,要確保調用了基類CView的OnInitialUpdate函數。基類中的OnInitialUpdate函數除了調用OnUpdate函數外什麼都不做。
5、CDocument::OnNewDocument
虛函數。當第一個CDocument對象創建和點擊“新建”菜單(在SDI應用程序中)時,該函數被調用。這個函數適合初始化CDocument對象的數據。重載此函數時要保證調用基類的OnNewDocument。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章