给对话框添加背景只需在OnPaint()函数里添加以下代码就可以实现
1 /*************添加对话框背景图片**************************************************************************/
2 /*获取设备当前大小*/
3 CPaintDC dc(this);
4 CRect rc;
5 GetClientRect(&rc);
6
7 CDC dcMem;//目标内存
8 dcMem.CreateCompatibleDC(&dc);//创建兼容设备环境
9 CBitmap bmpBackground;
10 bmpBackground.LoadBitmap(IDB_BITMAP1);//加载位图
11 BITMAP bitmap;
12 bmpBackground.GetBitmap(&bitmap);//获取位图到bitmap
13 CBitmap *pBitmap = dcMem.SelectObject(&bmpBackground);
14
15 //函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩。
16 dc.StretchBlt(0,0,rc.Width(),rc.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
17 /********************************************************************************************************/
其中要先在资源视图里导入位图,如上ID为IDB_BITMAP1。
还有就是StretchBlt()函数的使用了
BOOL StretchBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop );
x:逻辑单元x轴左上角坐标;
y:逻辑单元y轴左上角坐标;
nWidth: 设备矩形宽度;
nHeight:设备矩形高度;
pSrcDC: 源设备上下文;
xSrc :源矩形x轴左上角坐标;
ySrc: 源矩形y轴左上角坐标;
nSrcWidth:源矩形宽度;
nSrcHeight:源矩形高度
dwRop:指定要进行的光栅操作。参数常用SRCCOPY,意指将源矩形区域直接拷贝到目标矩形区域。