//创建内存DC//
CDC memdc;
CBitmap bmp,*pOldBitmap;
memdc.CreateCompatibleDC(dc);
bmp.CreateCompatibleBitmap(dc,rect.Width(),rect.Height());
pOldBitmap = memdc.SelectObject(&bmp);
CRect memRect(CPoint(0,0),rect.Size());
memdc.FillSolidRect(memRect,vec4b2Color(vecbackGroundColor));
BLENDFUNCTION bf;
bf.BlendOp = AC_SRC_OVER;
bf.BlendFlags = 0;
bf.SourceConstantAlpha = vecbackGroundColor[3];
bf.AlphaFormat = 0;
dc->AlphaBlend(
rect.left,rect.top,rect.Width(),rect.Height(),
&memdc,
memRect.left,memRect.top,memRect.Width(),memRect.Height(),bf);
//清理内存DC///
memdc.SelectObject(pOldBitmap);
DeleteDC(memdc);
CDC memdc;
CBitmap bmp,*pOldBitmap;
memdc.CreateCompatibleDC(dc);
bmp.CreateCompatibleBitmap(dc,rect.Width(),rect.Height());
pOldBitmap = memdc.SelectObject(&bmp);
CRect memRect(CPoint(0,0),rect.Size());
memdc.FillSolidRect(memRect,vec4b2Color(vecbackGroundColor));
BLENDFUNCTION bf;
bf.BlendOp = AC_SRC_OVER;
bf.BlendFlags = 0;
bf.SourceConstantAlpha = vecbackGroundColor[3];
bf.AlphaFormat = 0;
dc->AlphaBlend(
rect.left,rect.top,rect.Width(),rect.Height(),
&memdc,
memRect.left,memRect.top,memRect.Width(),memRect.Height(),bf);
//清理内存DC///
memdc.SelectObject(pOldBitmap);
DeleteDC(memdc);
DeleteObject(bmp);