| 篇章 | 核心主題 | 關鍵知識點 |
|---|---|---|
| 系列 (一) | MFC 架構概觀與專案建立 | Doc/View 架構、CWinApp、專案精靈選項、訊息對應表 |
| 系列 (二) | 視窗類別與訊息處理 | CWnd、CFrameWnd、CView、WM_CREATE/WM_PAINT/WM_DESTROY |
| 系列 (三) | 對話框與控制項程式設計 | CDialog、DDX/DDV、常用控制項、資源編輯器技巧 |
| 系列 (四) | 文件/視圖架構深入 | CDocument、CView、序列化、多文件介面 (MDI/SDI) |
| 系列 (五) | GDI 繪圖與列印 | CDC、CPen/CBrush/CFont、繪圖座標、列印架構 |
| 系列 (六) | 進階主題:資料庫、多執行緒、ActiveX | DAO/ADO、CWinThread、同步化物件、OLE/COM 基礎 |
CWinApp 衍生類,InitInstance 為進入點CSingleDocTemplate / CMultiDocTemplate 連結文件、視圖、框架BEGIN_MESSAGE_MAP / END_MESSAGE_MAP、ON_COMMAND、ON_UPDATE_COMMAND_UICObject → CCmdTarget → CWnd → CFrameWnd/CViewCFrameWnd (SDI)、CMDIFrameWnd / CMDIChildWnd (MDI)PreCreateWindow、OnCreate、PreTranslateMessageDoModal(),資料交換 DoDataExchangeCreate() + ShowWindow(),需手動銷毀DDX_Text、DDX_Check、DDX_Radio、DDX_CBStringDDV_MinMaxInt、DDV_MaxCharsSerialize(CArchive& ar),ar.IsStoring() 區分讀寫CDC 封裝 HDC,提供繪圖函數族群SelectObject、SelectStockObjectOnPreparePrinting → OnBeginPrinting → OnPrint → OnEndPrintingCDatabase、CRecordset (DAO/ODBC),CADORecordset (ADO)CWinThread (UI/Worker)、CCriticalSection、CEvent、CMutex、CSemaphoreCOleControl、屬性頁、事件觸發| 誤區 | 正確觀念 |
|---|---|
| MFC 只是類別庫 | MFC 是應用程式框架,提供架構與流程控制 |
| 直接用 API 更快 | MFC 封裝降低錯誤,開發效率長期較高 |
| Doc/View 只適用文書處理 | 資料/視圖分離適用所有資料驅動型應用 |
| 忽略訊息對應表 | 訊息對應是 MFC 核心機制,必須精通 |
| 記憶體洩漏不處理 | 善用 CObject 記憶體追蹤、AfxCheckMemory |