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

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

 

作者:flyfish 2010-03-13

 

前提

将一个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;

 

}

 

以上程序在Windows XP sp3+VC2005下调试通过

你可能感兴趣的:(windows,image,XP,null,mfc,dialog)