19,464
社区成员
发帖
与我相关
我的任务
分享
void CTestView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
// CScrollView::OnPrepareDC(pDC, pInfo);
//pDC->SetMapMode(MM_ANISOTROPIC);
/*
int xLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSX);
int yLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSY);
// pDC->SetWindowExt(100,100);
pDC->SetViewportExt( (int)(xLogPixPerInch*m_zoomScale),(int)(yLogPixPerInch*m_zoomScale) );
*/
CView::OnPrepareDC(pDC, pInfo);
pDC->SetMapMode(MM_ANISOTROPIC);
//转换坐标映射方式、确定窗口大小
// pDC->SetMapMode(MM_HIMETRIC);
CSize size = CSize(800, 560);
pDC->SetWindowExt(size);
int xLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSX); //得到实际设备每逻辑英寸的象素数量
int yLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSY);
long xExt = (long)size.cx * xLogPixPerInch/96; //得到设备坐标和逻辑坐标的比例 xLogPixPerInch=96 yLogPixPerInch=96
long yExt = (long)size.cy * yLogPixPerInch/96;
pDC->SetViewportExt( (int)(xExt*m_zoomScale), (int)(yExt*m_zoomScale));
}void C***View::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
CScrollView::OnPrepareDC(pDC, pInfo);
pDC->SetMapMode(MM_ANISOTROPIC); //转换坐标映射方式、确定窗口大小
CSize size = CSize(6000, 5000);
pDC->SetWindowExt(size);
int xLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSX); //得到实际设备每逻辑英寸的象素数量
int yLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSY);
long xExt = (long)size.cx * xLogPixPerInch/96; //得到设备坐标和逻辑坐标的比例
long yExt = (long)size.cy * yLogPixPerInch/96;
pDC->SetViewportExt((int)xExt, (int)yExt);
}