mfc窗口添加背景图片

1.第一步是将图片添加到资源中

2.第二步是在Class View中定位到OnPaint()这个函数。在if。。。else()中的else()下添加代码

else

{

     //CDialog::OnPaint();//禁止这个调用

        CPaintDC   dc(this);   
        CRect   rect;   
         GetClientRect(&rect);   
         CDC   dcMem;   
         dcMem.CreateCompatibleDC(&dc);   
         CBitmap   bmpBackground;   
         bmpBackground.LoadBitmap(IDB_BITMAP);  //IDB_BITMAP是你自己的图对应的ID   
         BITMAP   bitmap;   
         bmpBackground.GetBitmap(&bitmap);   
         CBitmap   *pbmpOld=dcMem.SelectObject(&bmpBackground);   
         dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,   
        bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);   
 }

其实我们想设置为其他 的颜色也是可以的,这个过程就是对哦OnPaint这个函数进行重载:

方法二:重载OnPaint(),即WM_PAINT消息。有关代码如下(以上例工程为准):

void CExampleDlgDlg::OnPaint() 
{
if (IsIconic())

else
{
CRect rect;
CPaintDC dc(this);
GetClientRect(rect);
dc.FillSolidRect(rect,RGB(0,255,0)); //设置为绿色背景

CDialog::OnPaint();

}


你可能感兴趣的:(VC++,mfc,图片)