MFC实现为窗体添加的背景图片



前提

将一个bmp图片添加到资源中

在资源视图中更改位图资源的IDIDB_BITMAP_BACKGROUND

 

第一种方法:

Dialog中添加一个Picture Control控件,将Picture Control控件的Type属性

更改为Bitmap。设置Image属性为IDB_BITMAP_BACKGROUND

这样图片自动加载到窗口中。

 

第二种方法:

添加消息函数OnEraseBkgnd

BOOL 类名::OnEraseBkgnd(CDC* pDC)函数中添加如下代码

 

BOOL 类名::OnEraseBkgnd(CDC* pDC)

{

     // TODO: 在此添加消息处理程序代码和/或调用默认值

     CRect rect;  
     CDC   memDC;  
     CBitmap bmpBackground; 
     CBitmap* pOldMemBmp=NULL; 
     GetWindowRect(&rect);  
     bmpBackground.LoadBitmap(IDB_BITMAP_BACKGROUND);  
     memDC.CreateCompatibleDC(pDC);  
     pOldMemBmp=memDC.SelectObject(&bmpBackground);  
     pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0, SRCCOPY);  

     if(pOldMemBmp)
         memDC.SelectObject(pOldMemBmp);  

     return   TRUE;
}

;