VC编程之设置客户区背景图片

作者:朱金灿

来源:http://www.cnblogs.com/clever101

 

    在很多系统中出于美观的需要常常要设置背景图片。下面我介绍一种在客户区设置背景图片的简单方法。

 

1.将背景bmp图片导入到工程,资源ID这里假设为IDB_BITMAP1。

2.在视图类添加如下代码:

void CSetBkMapView::OnDraw(CDC* pDC)
{
    CSetBkMapDoc
* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    
if (!pDoc)
        
return;

    
// TODO: 在此处为本机数据添加绘制代码
// 获取客户区大小
    CRect rcClient;
    GetClientRect(
&rcClient);

    CBitmap bmp; 
// 定义一个位图变量
    CBitmap* oldBmp;
    CDC memDC;
    bmp.LoadBitmap(IDB_BITMAP1);
    
// 获取位图信息
    BITMAP bm;
    bmp.GetBitmap( 
&bm );

    memDC.CreateCompatibleDC(pDC);
    oldBmp
=memDC.SelectObject(&bmp); // 将位图资源选入内存DC
  
// 在客户区绘制位图
    pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&memDC,0,0,SRCCOPY);    memDC.SelectObject(oldBmp);// 将旧位图选回设备环境
    bmp.DeleteObject(); // 删除位图资源
    memDC.DeleteDC(); // 删除内存DC
}

 

效果图如下:

  

 

 

posted @ 2009-05-27 23:03  是金子就会灿烂  阅读(1296)  评论(1编辑  收藏  举报