void COutOfWindowDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CWnd * pWnd = GetDesktopWindow();
CDC * pDC = pWnd->GetDC();
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDC, 800, 800);
CDC memDC;
memDC.CreateCompatibleDC(GetDC());
memDC.SelectObject(&bmp);
memDC.BitBlt(0, 0, 800, 800, pDC, 0, 0, SRCCOPY);
CRect rect;
GetDlgItem(IDOK)->GetWindowRect(rect);
ScreenToClient(rect);
this->InvalidateRect(CRect(4,4,60,60));
GetDC()->BitBlt(0, 0, 800, 800, &memDC, 0, 0, SRCCOPY);
GetDlgItem(IDOK)->InvalidateRect(NULL, TRUE); //将不覆盖的按钮调用此语句
}
解决BitBlt 覆盖按钮问题
最新推荐文章于 2021-06-07 12:57:29 发布