这里是几个我整理的打印函数,比较实用:
Sub InitPrint() '这个函数用来初试化打印机,请最先调用
Printer.Orientation = 2 '设置为横向打印,改为1就是纵向了
Printer.ScaleMode = 6 '设定单位为毫米
Printer.ScaleLeft = 30 '设置左边界
Printer.ScaleTop = 30 '设置上边界
Printer.ScaleHeight = 300 '设置高度
Printer.ScaleWidth = 200 '设置宽度
End SubSub PrintStr(ByVal X As Long, ByVal Y As Long, ByVal Fntsize As Integer, ByVal Str As String) '这个函数用来在指定位置用指定的字体大小打印指定的字符串
Printer.CurrentX = X '指定X坐标
Printer.CurrentY = Y '指定Y坐标
Printer.FontSize = Fntsize '指定字体大小
Printer.Print Str '打印字符串
End SubPrinter.Line (X1, Y1)-(X2, Y2) '这个是Printer对象自带的方法,可以打印一条线Printer.PaintPicture '这也是Printer对象自带的方法,可以在指定位置打印图片
PaintPicture这个方法的参数可以参考一下MSDN,比较多,我这里就不说了。当你调用这些函数和方法之后,最后还需要用:
Printer.EndDoc 这个方法来将你的最终结果打印到纸上,如果不用这个语句,你的打印机是不会打印的。关于图形打印,我到目前之用到了PaintPicture,希望这方面有经验的朋友拿出更多更好的方法来。在我的PrintStr函数中没有将字体封装进去,各位有兴趣的朋友可以自己加进去。也请将代码附上,我有意将此贴提交FAQ的。
Sub InitPrint() '这个函数用来初试化打印机,请最先调用
Printer.Orientation = 2 '设置为横向打印,改为1就是纵向了
Printer.ScaleMode = 6 '设定单位为毫米
Printer.ScaleLeft = 30 '设置左边界
Printer.ScaleTop = 30 '设置上边界
Printer.ScaleHeight = 300 '设置高度
Printer.ScaleWidth = 200 '设置宽度
End SubSub PrintStr(ByVal X As Long, ByVal Y As Long, ByVal Fntsize As Integer, ByVal Str As String) '这个函数用来在指定位置用指定的字体大小打印指定的字符串
Printer.CurrentX = X '指定X坐标
Printer.CurrentY = Y '指定Y坐标
Printer.FontSize = Fntsize '指定字体大小
Printer.Print Str '打印字符串
End SubPrinter.Line (X1, Y1)-(X2, Y2) '这个是Printer对象自带的方法,可以打印一条线Printer.PaintPicture '这也是Printer对象自带的方法,可以在指定位置打印图片
PaintPicture这个方法的参数可以参考一下MSDN,比较多,我这里就不说了。当你调用这些函数和方法之后,最后还需要用:
Printer.EndDoc 这个方法来将你的最终结果打印到纸上,如果不用这个语句,你的打印机是不会打印的。关于图形打印,我到目前之用到了PaintPicture,希望这方面有经验的朋友拿出更多更好的方法来。在我的PrintStr函数中没有将字体封装进去,各位有兴趣的朋友可以自己加进去。也请将代码附上,我有意将此贴提交FAQ的。
解决方案 »
- VB6,读写Unicode编码的文本文件怎么会这样?
- ■想用VBS脚本提供给程序上每个Button可订制功能的能力,能做到吗?如何做?
- msmq之初哥篇
- 请问为何不能编辑datagrid控件网格的内容啊,谢谢(100分)
- sql BETWEEN xx And yy 的用法!请教!
- 大家帮我看看这个怎么编http://go.6to23.com/perfecthomepage/cc.exe
- 如何把事件查看器的日志文件(*.EVT)保存到数据库中?
- 关于MSCOMM控件轮询端口已测试是否有数据传来的问题???
- 哪有更精确的计时器控件
- 要送分?我才来的啥都没有。还望帮忙!难点啊。
- 初学者小问题,编写了一个Form_Load()过程,运行起来没反应
- 对我有点难!
头疼阿,msdn上面关于2k下添加纸型的文章,添加可以但是打印的时候而且只要设定了printer的打印方向,根本就不按照自定义的打印,永远是用默认纸型。
微软估计提倡无纸化办公,打印都做的这么乱七八糟
对纸张类型的控制,各位高手有没有办法啊?