上节,我给大家看了一个效果图,个人感觉还不错。。所以,我将教大家怎么样实现那样的效果

我用的是VS2010:

1、创建WIN32项目

2、创立全局变量:

HBITMAP bg,photo;  

HDC hdc,mdc;  

3、添加素材到工程目录下:

 

3、找到这里:

4、在下面写这段代码:

 
  
  1. hdc = GetDC(hWnd); //获得DC
  2. mdc = CreateCompatibleDC(hdc);//获得兼容环境的上下文句柄
  3. bg = (HBITMAP)LoadImage(NULL,_T("bg.bmp"),IMAGE_BITMAP,1024,768,LR_LOADFROMFILE);//加载图片
  4. photo = (HBITMAP)LoadImage(NULL,_T("test.bmp"),IMAGE_BITMAP,300,300,LR_LOADFROMFILE);//加载图片

5、在重绘里写这段代码:

 
  
  1. SelectObject(mdc,bg);//把bg句柄选入环境
  2. BitBlt(hdc,0,0,1024,768,mdc,0,0,SRCCOPY);// BitBlt 显示图片
  3. SelectObject(mdc,photo);//把photo选入环境
  4. TransparentBlt(hdc,100,100,300,300,mdc,0,0,300,300,RGB(255,255,255));//TransparentBlt 实现透明贴图

 

本工程下载地址:    http://pan.baidu.com/share/link?shareid=130111&uk=3257421948

注:如果对 BitBlt等函数不懂的话建议看看我的这篇文章

《WIN32 API 编程之如何显示一张图片?》