0

我正在尝试使用 DrawEdge 和 DrawText 函数(http://msdn.microsoft.com/en-us/library/ms534882.aspxhttp://msdn.microsoft.com/en-us/library/ms533909.aspx)。它们工作得很好,然而,当我试图到达我的纸的底部(距离它大约 35 毫米)时,这条线就停止了绘制。我认为这是我的打印机的限制。但是,当我绘制文本时,我的打印机在那里打印没有问题,甚至更低。DrawEdge 有没有办法在那里画线?还有另一种方法可以做到这一点吗?这是一个错误吗?

4

1 回答 1

1

我能想到几个原因:

  • 您在绘制边缘时设置了一个剪辑区域,而在绘制文本时设置了不同的剪辑区域。

  • 剪切区域已设置,但打印机并未始终剪切文本。一些打印机将打印整个字符,即使它只有一部分在剪辑区域内。您可以使用GetDeviceCapswith来检查其文本剪辑能力TEXTCAPS。如果是这种情况,剪裁区域底部附近打印的文本可能会显示,但其他类型的图形(如线条)将被剪裁。

  • 您误解了页面的可打印区域。这是什么类型的打印机?许多打印机无法在距底边 35 毫米的范围内打印。驱动程序报告的可打印区域是什么?(使用GetDeviceCapsPHYSICALOFFSETYPHYSICALHEIGHT确定您可以实际打印的页面的高度。)

祝你好运!

于 2009-09-29T15:28:37.637 回答