1、添加背景圖檔到“Bitmap”資源裡。方法為“插入——資源”,如果還沒有Bitmap,則建立一個Bitmap,否則選擇資源
類型為“Bitmap”後“引入”想要插入的背景圖檔,我加入的背景圖檔如圖1,加入過程如圖2。
<a href="http://student.csdn.net/attachment/200906/15/53812_1245083868wOi9.jpg"></a>
圖1
圖2
說明:引入的圖檔可以插入256色、16位色或更高色的圖檔,若是其他格式圖檔可用PS打開再另存為BMP、24位windows格式就可
以了。提示說該資源使用了大于256色的調色闆,在VC裡無法編輯等等,點确定就可以了,沒有影響的。
2、定位到 void CXXXDlg::OnPaint(),在if()...else()中的else()下添加如下代碼:
else
{
//CDialog::OnPaint();//要禁止這個調用
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP); //IDB_BITMAP是你自己的圖對應的ID ,由于我剛剛加入的位圖資源
//被我命名成了IDB_Bg,因而我這句就是bmpBackground.LoadBitmap(IDB_Bg);
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,
bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
}
3、編譯運作結果如圖3。
圖3
4、通過屬性設定把邊框隐藏起來并更改對話框的大小結果更好一點,如圖4。
圖4