evc 打印bitblt无法copy cdc
我已经已经能够打印了lineto()但是为什么我的dcPrinter不能copy 其它的cdc.但我不是print 句柄是可以用bitblt copy cdc的,这是这么回事??
CDC dcPrinter;
DOCINFO di;
TCHAR szDevice[50],szDriver[50],szOutput[50];
GetPrinterPara( szDevice,szDriver,szOutput);
BOOL bResult = dcPrinter.CreateDC(szDriver,szDevice,szOutput,NULL);
memset(&di,0,sizeof(DOCINFO));
di.cbSize = sizeof(DOCINFO);
di.lpszDocName = _T("Sample Document");
if(dcPrinter.StartDoc(&di) != 0)
{
StartPage(dcPrinter);
}
// dcPrinter.BitBlt(0,0,m_nPaperWidth,m_nPaperHeight,m_pMemDC,0,0,SRCCOPY);
// BOOL bResult = ::BitBlt(dcPrinter.m_hDC,0,0,m_nPaperWidth,m_nPaperHeight,m_pMemDC->m_hDC,0,0,SRCCOPY);
dcPrinter.StretchBlt(0,0,m_nPaperWidth,m_nPaperHeight,&dcMem,
0,0,m_nPaperWidth,m_nPaperHeight,SRCCOPY);
// BOOL bResult = ::BitBlt(dcPrinter.m_hDC,0,0,m_nPaperWidth,m_nPaperHeight,dc.m_hDC,0,0,SRCCOPY);
EndPage(dcPrinter);
EndDoc(dcPrinter);
}
DeleteDC(dcPrinter);