MFC 引入 Document/View 架構,將資料(Document)、顯示與互動(View)、視窗框架(Frame)分離。理解四大核心類別(`CWinApp`、`CFrameWnd`、`CDocument`、`CView`)的建立順序、指標獲取方式與命令路由機制,是開發健壯 MFC 應用的關鍵。
| 需求 | 程式碼 |
|---|---|
| 應用程式指標 | `AfxGetApp()` |
| 主框架視窗指標 | `AfxGetApp()->m_pMainWnd` |
| 框架視窗中獲取當前 Document | `GetActiveDocument()` |
| 框架視窗中獲取當前 View | `GetActiveView()` |
| View 中獲取對應 Document | `GetDocument()` |
| Document 遍歷所有 View | `GetFirstViewPosition()` + `GetNextView()` |
| Document 獲取模板指標 | `GetDocTemplate()` |
| MDI 獲取當前子視窗 | `MDIGetActive()` |
使用者輸入(選單、工具列、滑鼠、鍵盤)產生的命令訊息:
實務建議:命令處理器(`ON_COMMAND`)直接寫在 View 類別中即可;僅當多 View 共享命令且當前 View 不處理時,才需在框架類別補充。