1. [代码]使用画刷CBrush
01 void CDlg::OnPaint()
02 {
03 CPaintDC dc(this);//用于画图的设备上下文
04
05 //加载背景位图
06 CBitmap bitmap;
07 bitmap.LoadBitmap(IDB_BITMAP1);
08
09 CBrush brush(&bitmap);//建立画刷
10 dc.SelectObject(brush);
11 CRect rect;
12 GetClientRect(rect);//获得客户区大小
13 dc.Rectangle(rect);//画矩形,并用图片的画刷填充
14 }
2. [代码]使用CDC::bitblt函数直接画上去
01 CPaintDC dc(this);// 用于绘制的设备上下文
02 CBitmap bmp;
03 bmp.LoadBitmap(IDB_BITMAP1);
04 CDC dcMemory;
05 dcMemory.CreateCompatibleDC(&dc);//创建内存DC
06 CBitmap *pOldBmp = dcMemory.SelectObject(&bmp);
07 CRect rect;
08 GetClientRect(rect);
09 dc.BitBlt(0, 0, rect.Width(), rect.Height(), &dcMemory, 0, 0, SRCCOPY);
10 dcMemory.SelectObject(pOldBmp);