在 MFC 多文檔架構(MDI)中,主框架工具欄已有「新建/打開/保存」按鈕,現需在 CMainFrame 自定義按鈕中復用「打開」功能:已獲取文檔指針(CDocument*),如何基於此指針創建新視圖?
MFC 文檔/視圖架構中,視圖由文檔模板(CDocTemplate)管理創建。文檔指針本身不直接創建視圖,需通過模板實例化。
CMultiDocTemplate* pTemplate = (CMultiDocTemplate*)AfxGetApp()->m_pDocManager->GetFirstDocTemplate();CreateNewFrame 與 InitialUpdateFrame:CFrameWnd* pFrame = pTemplate->CreateNewFrame(pDoc, NULL);
pTemplate->InitialUpdateFrame(pFrame, pDoc);pDoc 為有效文檔指針(已關聯模板)CSingleDocTemplate