给对话框添加背景

给对话框添加背景只需在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,意指将源矩形区域直接拷贝到目标矩形区域。
posted @ 2013-08-23 14:50  struggle_time  阅读(333)  评论(0编辑  收藏  举报