對話框是容器,控件是內容。本講以「設定視圖背景顏色」對話框為例,完整演示資源編輯器佈局技巧、六種常用控件屬性配置、Tab Order 決定 Spin-Edit 伙伴關係、靜態文字作預覽區、Picture Control 畫分隔線、測試按鈕驗證效果。

功能:三組 R/G/B 編輯框 + 微調旋鈕 (Spin Control),下方矩形區即時預覽混合顏色。
| 控件 | 工具箱圖示 | 關鍵屬性 | 說明 |
|---|---|---|---|
| Group Box | ![]() | Caption="背景顏色" | 靜態控件,視覺分組,無互動 |
| Static Text | ![]() | Caption="紅色顏色分量(R)" | 標籤,不可編輯 |
| Edit Control | ![]() | Number=True, Read Only=True | 數字輸入/顯示,配合 Spin |
| Spin Control | ![]() | Alignment=Right, Auto Buddy=True, Set Buddy Integer=True | 上下箭頭調整伙伴 Edit 值 |
| Picture Control | ![]() | Type=Horizontal Etched (分隔線) / Sunken=True (預覽區凹陷感) | 靜態圖像/矩形框/分隔線 |
逐一點選控件,屬性視窗修改 Caption:Group Box「背景顏色」、三組 Static Text「紅色顏色分量(R)」「綠色顏色分量(G)」「藍色顏色分量(B)」、Button「確定」「取消」。
CDC* 繪製填充矩形即可實現顏色預覽。| 控件 | ID 屬性 | Caption |
|---|---|---|
| 紅色 Edit | IDC_EDIT_R | (數值顯示) |
| 紅色 Spin | IDC_SPIN_R | |
| 綠色 Edit | IDC_EDIT_G | |
| 綠色 Spin | IDC_SPIN_G | |
| 藍色 Edit | IDC_EDIT_B | |
| 藍色 Spin | IDC_SPIN_B | |
| 預覽區 Static | IDC_DRAW | (空) |
,彈出模態對話框真實運行效果。int 型成員變數 (m_nRed, m_nGreen, m_nBlue...),ClassWizard 自動生成 DDX_Text。UDN_DELTAPOS 通知處理,或利用 SetBuddyInteger 自動同步無需代碼。OnInitDialog 初始化範圍 (0-255)、預設值。OnPaint 或 OnCtlColor 中對 IDC_DRAW 區域填充 RGB(m_nRed, m_nGreen, m_nBlue)。UpdateData(FALSE) 刷新 Edit → 觸發預覽區 InvalidateRect 重繪。資源編輯器是 MFC 快速開發的核心生產力工具。掌握控件屬性組合 (Spin+Edit 伙伴、Static Sunken 預覽、Picture Etched 分隔)、Tab Order 邏輯、ID 命名規範、測試按鈕驗證流程,即可在**零代碼**階段完成 80% 的 UI 交互邏輯,剩餘 20% 集中在數據驅動繪圖與業務邏輯,實現真正的「所見即所得」開發。