針對 VC++ 6.0 初學者,本文詳細說明如何在 MFC 對話框專案中,透過 Picture 控件 顯示背景圖片。涵蓋圖片格式轉換、資源匯入、控件屬性設定等完整步驟,助你快速上手。
IDB_BITMAP1。IDB_BITMAP1// 在 OnInitDialog 或按鈕事件中
CStatic* pPic = (CStatic*)GetDlgItem(IDC_STATIC_PIC); // 假設控件 ID 為 IDC_STATIC_PIC
HBITMAP hBmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_BITMAP2), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
if (hBmp) {
pPic->SetBitmap(hBmp);
// 注意:若需釋放舊位圖,請自行管理 HBITMAP 生命週期
}
| 問題 | 原因與解決 |
|---|---|
| 圖片不顯示/全黑 | 未設定 Type=Bitmap,或 Image 未選資源 ID |
| 顏色失真 | 原圖非 256 色,請用畫圖轉存為 8 位元 BMP |
| 匯入報錯 | 檔案路徑含中文/特殊字元,請改用英數路徑 |
| 執行時閃爍 | 在 OnEraseBkgnd 返回 TRUE,並在 OnPaint 手動繪製可消除閃爍 |
透過「256 色 BMP → 匯入資源 → Picture 控件設定 Bitmap」三步驟,即可在 VC++ 6.0 MFC 對話框輕鬆加入背景圖片。掌握此基礎後,可進一步學習雙緩衝繪圖、透明圖層等進階 UI 技術。