//下面是设备参数
void CScaleprintView::OnBeginPrinting(CDC* pDC, CPrintInfo* /*pInfo*/)
{
printx =pDC->GetDeviceCaps(LOGPIXELSX);
printy =pDC->GetDeviceCaps(LOGPIXELSY);
ratex = (double)printx /screenx; //确定打印机与屏幕的比率
ratey = (double)printy /screeny;
pageheight =pDC->GetDeviceCaps(VERTRES);
pagewidth =pDC->GetDeviceCaps(HORZRES);
//获取打印机的左右边距
leftmargin = pDC->GetDeviceCaps(PHYSICALOFFSETX);//获取左边距
int phywidth= pDC->GetDeviceCaps(PHYSICALWIDTH);
rightmargin = phywidth-pagewidth-leftmargin;
// TODO: add extra initialization before printing
}
//下面是屏幕参数
void CScaleprintView::OnDraw(CDC* pDC)
{
CScaleprintDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
...
screenx =pDC->GetDeviceCaps(LOGPIXELSX);
screeny =pDC->GetDeviceCaps(LOGPIXELSY);
...
}