Code: Select all
void CPreviewViewExt::OnDraw(CDC* pDC)
{
ASSERT_VALID(pDC);
// don't do anything if not fully initialized
if (m_pPrintView == NULL || m_dcPrint.m_hDC == NULL)
return;
CRect rectClip;
pDC->GetClipBox(&rectClip);
CMemDC dcDraw(pDC, rectClip.right, rectClip.bottom);
// Fill background with APPWORKSPACE
CBrush backBrush(GetSysColor(COLOR_APPWORKSPACE));
CBrush* pOldBrush = dcDraw.SelectObject(&backBrush);
dcDraw.PatBlt(rectClip.left, rectClip.top, rectClip.Width(), rectClip.Height(), PATCOPY);
dcDraw.SelectObject(pOldBrush);
CPoint ptViewportOrg = dcDraw.GetViewportOrg();
...
...
GetOrigView()->OnDraw(m_pPreviewDC);
...
pDC->BitBlt(0, 0, rectClip.right, rectClip.bottom, &dcDraw, 0, 0, SRCCOPY);
}