MFC画板。打印预览的图像只有画出来的一部分。
如题——打印预览的图像只有画出来的一部分!
- C/C++ code
void CCEasyPaintView::OnPrint(CDC* pDC, CPrintInfo* pInfo){ OnDraw(pDC);}void CCEasyPaintView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo /* = NULL */){ CView::OnPrepareDC(pDC, pInfo); //pDC->SetMapMode(MM_LOENGLISH); pDC->SetMapMode(MM_ANISOTROPIC); CSize size = CSize(1000,900); //pDC->Get CRect rectTemp; GetClientRect(&rectTemp); //size.cx = rectTemp.right; //size.cy = rectTemp.bottom; pDC->SetWindowExt(GetDocument()->m_sizeDoc); //得到实际设备每逻辑英寸的像素数量 int xLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSX); int yLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSY); //得到设备坐标和逻辑坐标的比例 long xExt = (long)GetDocument()->m_sizeDoc.cx * xLogPixPerInch/96 ; long yExt = (long)GetDocument()->m_sizeDoc.cy * yLogPixPerInch/96 ; pDC->SetViewportExt((int)xExt, (int)yExt);}void CCEasyPaintView::OnInitialUpdate(){ SetScrollSizes(MM_TEXT, GetDocument()->GetDocSize()); CScrollView::OnInitialUpdate();}[解决办法]
不懂为什么~ ~!