CUserException 衍生異常?DECLARE_DYNAMIC / IMPLEMENT_DYNAMIC 巨集,讓 CATCH 巨集能取得執行期類別資訊。CUserException 衍生嗎?HDC 建立 CDC?CDC dc; dc.Attach(hDC); ... dc.Detach(); (需手動 Detach 避免重複釋放)CDC* pDC = CDC::FromHandle(hDC); (較安全,無需 Detach)DIBLOOK、MULTDOCS、SDK DIBVIEW/SHOWDIB。MoveWindow,視圖會自動適應。GetParentFrame()->MoveWindow(...)CFormView 大小調整?OnInitialUpdate:CFormView::OnInitialUpdate(); GetParentFrame()->RecalcLayout(); ResizeParentToFit();InitInstance 中 AddDocTemplate 第三參數換新 RUNTIME_CLASS。MDI 可再加一個 AddDocTemplate 實現多視圖類型共存。CDocTemplate::CreateNewFrame(pDoc, pCloneFrame) 建立新框架+視圖。參考 CHKBOOK、MULTVIEW 範例。CDocManager;舊版迭代 m_templateList → GetFirstDocPosition/GetNextDoc → GetFirstViewPosition/GetNextView。WM_ERASEBKGND:CBrush brush(RGB(255,128,128)); pDC->FillRect(&rect, &brush); return TRUE;OnCtlColor,依 nCtlColor 返回自訂刷子句柄。DeleteContents() 執行,**勿放在解構函數**。InitInstance 新增 CMultiDocTemplate 並 AddDocTemplate。m_templateList → 每模板 GetFirstDocPosition/GetNextDoc 收集 CDocument*。InitInstance 中 ProcessShellCommand 前設定:cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;AUTOSV.LZH 範例。HELLO、MDI、HELLOAPP 範例即非 Doc/View。但會失去列印預覽、OLE 等進階功能。