VC++ 產生的預設視圖背景單調乏味。本文教導如何以自訂圖片美化視圖背景,適合初學者快速上手。
IDB_BITMAP
class CTestView : public CView {
CBrush m_brushBackground; // 背景畫刷
// ...
};
CTestView::CTestView() {
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP); // 載入點陣圖
m_brushBackground.CreatePatternBrush(&bmp); // 建立圖案畫刷
}
void CTestView::OnDraw(CDC* pDC) {
CRect rect;
GetClientRect(&rect); // 取得客戶區矩形
pDC->FillRect(&rect, &m_brushBackground); // 畫刷填充
// 其他繪圖代碼...
}
BOOL CTestView::OnEraseBkgnd(CDC* pDC) {
return TRUE; // 禁止預設背景擦除,由 OnDraw 統一繪製
}
編譯執行後,視圖背景呈現自訂圖片紋理,視覺效果大幅提升。

CreatePatternBrush 以點陣圖建立畫刷,FillRect 自動平鋪填充。OnEraseBkgnd 回傳 TRUE 告訴系統「背景已處理」,避免系統先擦除再繪製造成閃爍。