/*功能说明:下面的语句实现了对前面两个函数的调用。用于透明半透明显示两张图片。
从中可以学到句柄和对象指针之间的转换方法。
*/
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
m_dra=(HBITMAP)LoadImage(NULL,"res//girlmask.bmp",IMAGE_BITMAP,596,329,LR_LOADFROMFILE);
m_hBg=(HBITMAP)LoadImage(NULL,"res//bg.bmp",IMAGE_BITMAP,600, 450,LR_LOADFROMFILE);
//上面是加载两张外部图片。
CDC memdc;//内存DC
memdc.CreateCompatibleDC(&dc);//创建兼容DC
CBitmap girl; //声明临时图片对象
girl.CreateCompatibleBitmap(&dc,600,450);//创建兼容图片
memdc.SelectObject(&girl);//选入内存设备
TransparentBMP(&memdc,CRect(0,0,600,450),50,20,m_hBg,m_dra);
//将带蒙版的图片图片透明显示在内存DC里
CBitmap pTemp;
pTemp.CreateCompatibleBitmap(&dc,298,329);
CBitmap *pgirl=memdc.SelectObject(&pTemp); //获取指针值
HBITMAP hgirl=pgirl->operator HBITMAP(); //转换为句柄值
HalfTransparent(&dc,CRect(0,0,600,450),0,0,m_hBg,hgirl,0.7);//半透明显示处理