void CForm1::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
if (m_pMemdc0->GetSafeHdc())
m_pMemdc0->DeleteDC();
m_pMemdc0->CreateCompatibleDC(pDC);
CClientDC dc(this);
CRect rect;
GetClientRect(rect);
m_pMemdc0->SetMapMode(MM_ANISOTROPIC );
m_pMemdc0->SetWindowExt(dc.GetDeviceCaps(LOGPIXELSX),dc.GetDeviceCaps(LOGPIXELSY));
m_pMemdc0->SetViewportExt(m_pMemdc0->GetDeviceCaps(LOGPIXELSX),m_pMemdc0->GetDeviceCaps(LOGPIXELSY)); if (m_pMembmp0->GetSafeHandle())
m_pMembmp0->DeleteObject();
m_pMembmp0->CreateCompatibleBitmap(&dc,rect.Width(),rect.Height());
m_pMemdc0->SelectObject(m_pMembmp0);
dc.DPtoLP(rect); //Convert to Logical Coordinates
m_rect = rect; //Save Logical Coordinates
m_pMemdc0->BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
}
void CForm1::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
// TODO: Add your specialized code here and/or call the base class
CRect r;
GetClientRect(&r); pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetWindowExt(m_pMemdc0->GetDeviceCaps(LOGPIXELSX),m_pMemdc0->GetDeviceCaps(LOGPIXELSY));
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX),pDC->GetDeviceCaps(LOGPIXELSY));
}
问什么视图的图形打印不出来?如果需要将图形旋转90度在打印应该如何处理?
{
if (m_pMemdc0->GetSafeHdc())
m_pMemdc0->DeleteDC();
m_pMemdc0->CreateCompatibleDC(pDC);
CClientDC dc(this);
CRect rect;
GetClientRect(rect);
m_pMemdc0->SetMapMode(MM_ANISOTROPIC );
m_pMemdc0->SetWindowExt(dc.GetDeviceCaps(LOGPIXELSX),dc.GetDeviceCaps(LOGPIXELSY));
m_pMemdc0->SetViewportExt(m_pMemdc0->GetDeviceCaps(LOGPIXELSX),m_pMemdc0->GetDeviceCaps(LOGPIXELSY)); if (m_pMembmp0->GetSafeHandle())
m_pMembmp0->DeleteObject();
m_pMembmp0->CreateCompatibleBitmap(&dc,rect.Width(),rect.Height());
m_pMemdc0->SelectObject(m_pMembmp0);
dc.DPtoLP(rect); //Convert to Logical Coordinates
m_rect = rect; //Save Logical Coordinates
m_pMemdc0->BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
}
void CForm1::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
// TODO: Add your specialized code here and/or call the base class
CRect r;
GetClientRect(&r); pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetWindowExt(m_pMemdc0->GetDeviceCaps(LOGPIXELSX),m_pMemdc0->GetDeviceCaps(LOGPIXELSY));
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX),pDC->GetDeviceCaps(LOGPIXELSY));
}
问什么视图的图形打印不出来?如果需要将图形旋转90度在打印应该如何处理?
解决方案 »
- MFC初始化成员变量,想初始一个化CFile类型的变量,打开一个文件!怎么初始化呢?谢谢
- 疯了,VC++2010没有智能提示了
- VC里宏定义怎么用?
- 在IE里启用ActiveX文档服务器程序?
- OpenGL中的绘制问题
- Dll關於new CDynLinkLibrary(ExtDllDLL);的問題
- 哪位能传dx81sdk给我?
- Unicode编码的问题,我哦没招了,大家帮帮忙吧
- 比如我拦截了WM_CLOASE消息后,用户选择取消,就不关闭对话框,选择确定就关闭,如何实现?
- 各位大哥,小弟急得要哭:(
- 获得jpg的rgb后,如何显示图形?
- 请问用什么工具作chm帮助文件,那里有此工具和学习教程下载?
m_pMemdc0->DeleteDC();
m_pMemdc0->CreateCompatibleDC(pDC);
CClientDC dc(this);
CRect rect;
GetClientRect(rect);
m_pMemdc0->SetMapMode(MM_ANISOTROPIC );
m_pMemdc0->SetWindowExt(dc.GetDeviceCaps(LOGPIXELSX),dc.GetDeviceCaps(LOGPIXELSY));
m_pMemdc0->SetViewportExt(m_pMemdc0->GetDeviceCaps(LOGPIXELSX),m_pMemdc0->GetDeviceCaps(LOGPIXELSY)); if (m_pMembmp0->GetSafeHandle())
m_pMembmp0->DeleteObject();dc.DPtoLP(rect); //Convert to Logical Coordinates
m_rect = rect; //Save Logical Coordinates m_pMembmp0->CreateCompatibleBitmap(&dc,rect.Width(),rect.Height());
m_pMemdc0->SelectObject(m_pMembmp0);
//dc.DPtoLP(rect); //Convert to Logical Coordinates
//m_rect = rect; //Save Logical Coordinates
m_pMemdc0->BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
void CForm1::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
if(pInfo)
{
m_rcPrintRect = pInfo->m_rectDraw;
}
CForm1::OnPrint(pDC, pInfo);
}void CForm1::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
// TODO: Add your specialized code here and/or call the base class
CRect r;
//GetClientRect(&r);
r = pInfo->m_rectDraw; pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetWindowExt(m_pMemdc0->GetDeviceCaps(LOGPIXELSX),m_pMemdc0->GetDeviceCaps(LOGPIXELSY));
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX),pDC->GetDeviceCaps(LOGPIXELSY));
}
{
r = pInfo->m_rectDraw;
CRect rect1,rect2,rect3,rect4,rect5,rect6,rect7,rect8;
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetWindowExt(m_pMemdc0->GetDeviceCaps(LOGPIXELSX),m_pMemdc0->GetDeviceCaps(LOGPIXELSY));
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX),pDC->GetDeviceCaps(LOGPIXELSY));
pDC->StretchBlt(0,0,r.Width(),r.Height(),m_pMemdc0,0,0,r.Width(),r.Height(),SRCCOPY);
}
这个还是不行?是那里设置不行?