AlphaBlend变暗,仿QQ截图,有问题!
BOOL CCatchScreenDlg::OnEraseBkgnd(CDC* pDC)
{
//用整个桌面填充全屏对话框背景
CRect rect;
GetClientRect(&rect);
CDC memDC;
memDC.CreateCompatibleDC(pDC);
memDC.SelectObject(m_pBitmap);
memDC.PatBlt(0, 0, rect.Width(),rect.Height(), BLACKNESS);
BLENDFUNCTION blend;
blend.BlendOp = AC_SRC_OVER;
blend.BlendFlags = 0;
blend.AlphaFormat = 0;
blend.SourceConstantAlpha = 80;
pDC->AlphaBlend(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, rect.Width(), rect.Height(), blend);
return TRUE;
}
一开始确实有变暗的效果,但是画截图区域的时候,屏幕就越来越暗,最后就变成黑屏,求解?