方法一:ClassWizard / Insert New Class (標準 MFC 類別)
- 選單:Insert → New Class
- Class Type:選擇 Generic Class (通用 C++ 類) 或 MFC Class (衍生自 MFC 類)
- Name:輸入類別名稱 (如
CMyClass)
- Base Class (若為 MFC Class):選擇基底類別 (如
CDialog, CView, CObject)
- 確定 → 自動產生 .h/.cpp 並加入專案
方法二:現有檔案加入專案
- 已有 .h/.cpp 檔案在磁碟上
- 專案工作區 → FileView → 右鍵專案 → Add Files to Project
- 選擇檔案 → 確定
- 若為 MFC 類別,ClassView 會自動識別並顯示
方法三:ClassView 右鍵快速添加成員
- ClassView 面板展開專案類別
- 目標類別名稱右鍵 → Add Member Variable (添加成員變數)
- 目標類別名稱右鍵 → Add Member Function (添加成員函數)
- 填寫類型、名稱、存取層級 (public/protected/private)、virtual/static 等屬性
進階:MFC 類別精靈選項詳解
| 選項 | 適用場景 | 自動產生內容 |
| MFC Class from CDialog | 對話方塊類 | DoDataExchange, 訊息對應, 建構子 |
| MFC Class from CFormView | 表單視圖 | 同上 + OnInitialUpdate |
| MFC Class from CView | 一般視圖 | OnDraw, OnInitialUpdate, 列印支援 |
| MFC Class from CWnd | 視窗控制項 | 訊息對應, PreSubclassWindow |
| MFC Class from CObject | 可序列化資料類 | DECLARE_SERIAL, Serialize, 建構子 |
| Generic Class | 純 C++ 類 (非 MFC) | 僅基本建構子/解構子 |
常見問題
- ClassWizard 無法開啟:專案 .clw 損毀 → 刪除 .clw 重開專案讓 VC6 重建
- 新增類別後 ClassView 不顯示:確認 .h/.cpp 已加入專案、類別定義無語法錯誤
- 繼承關係錯誤:ClassWizard 產生的繼承無法直接修改 → 手動編輯 .h 檔修改
class CMyDlg : public CDialog
- 成員函數未加入訊息對應:Add Member Function 僅加入宣告/定義,訊息處理需手動加入
ON_COMMAND 等宏
最佳實踐流程
- Insert → New Class → 選正確基底類別
- ClassView → 右鍵類別 → Add Member Variable/Function 完善介面
- ClassWizard (Ctrl+W) → Message Maps 標籤 → 加入訊息處理函數
- ResourceView → 對話方塊編輯器 → 拉控制項 → Ctrl+W 加入控制項變數 (DDX/DDV)
- 編譯驗證 → 逐步實作邏輯
熟練掌握 VC6.0 類別建立與成員管理流程,是高效進行 MFC 開發的基礎技能。