还是打印问题:预览正确,打到纸上确位置不对,高手进来看看呀!
lmz 2001-03-14 09:40:00 我设置坐标原点在文档中间,y向上为正,x右为正
代码如下:
void CMyView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
CScrollView::OnPrepareDC(pDC, pInfo);
pDC->SetMapMode(MM_ANISOTROPIC);
int x,y ;
x = pDC->GetDeviceCaps(LOGPIXELSX) ;
y = pDC->GetDeviceCaps(LOGPIXELSY) ;
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX),
pDC->GetDeviceCaps(LOGPIXELSY));
pDC->SetWindowExt(100, -100);
CPoint ptOrg;
ptOrg.x = GetDocument()->GetSize().cx / 2;
ptOrg.y = GetDocument()->GetSize().cy / 2;
pDC->OffsetWindowOrg(-ptOrg.x,ptOrg.y);
}
在OnPreparePrinting(CPrintInfo* pInfo)中进行了计算页数
BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
{
// TODO: call DoPreparePrinting to
CReportMakerDoc* pDoc = GetDocument() ;
CSize sz = pDoc->ComputePageSize();
int pages=sz.cx ;//页数
pInfo->SetMaxPage(pages);
return DoPreparePrinting(pInfo);
}
void CMyView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
OnDraw(pDC);
}
预览正确,打到纸上确位置不对,是不是打印跟预览的坐标不一样?
如果是的话,在哪儿修改打印时的坐标?高手帮忙啊!谢谢了!