给对话框添加背景

给对话框添加背景只需在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,意指将源矩形区域直接拷贝到目标矩形区域。

你可能感兴趣的:(对话框)