解决BitBlt 覆盖按钮问题

来源:互联网 发布:php只能做网站吗 编辑:程序博客网 时间:2024/06/03 19:56

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);       //将不覆盖的按钮调用此语句}