代码改变世界

打印机打印不完整,打印机纸大小问题

2012-07-16 11:42  九佛仔  阅读(176)  评论(0)    收藏  举报

最近用VC写了个打印机程序,但是预览打印出来的数据不完整,断了一半.
解决问题的关键代码如下:

if (m_bNoPrinter)//没有打印机则使用窗口DC建立cBitmap
{
  cBitmap.CreateCompatibleBitmap(GetDC(), rect.Width(),50000); //这里的50000就是页的长度(窗口)
}
else
{
  cBitmap.CreateCompatibleBitmap(&m_dcPrint, rect.Width(),50000);
}
m_dcMem.SelectObject(&cBitmap);
m_dcMem.FillSolidRect(rect, RGB(255,255,255));   //建白色背景

同时还需要在打印机的设置里设置页的最大长度,或者通过代码设置.

 

来自 [萝岗九龙社区] http://www.gzzsc.net