注册 登录
编程论坛 VB6论坛

做了一个收据打印程序,每次打印完成后再打印下一张出现轻微偏移,为什么啊?

wcwycp 发布于 2015-04-29 11:23, 566 次点击
做了一个收据打印程序,每次打印完成后再打印下一张出现轻微偏移,为什么啊?
过几天后再打印就偏移很多了,不得不再调整偏移量,请问能够在程序里面哪个位置进行下控制吗,谢谢,程序代码如下:
每一次打印都对参数进行初始化,可是还是偏移,这是为什么啊,找不到原因了,麻烦大家帮忙分析下原因,是不是把单位设置成点更准确啊,谢谢。
使用的是EPSON 630打印机
    X_p = 0
    Y_p = 0    '编移量初始化为零

   '每次都从INI文件中读取偏移量参数

    Printer.Orientation = 1
    '9为A4复印纸
    Printer.PaperSize = 9
    Printer.ScaleMode = 6
   
    Printer.ScaleLeft = 0    '对坐标原点重新设置为零
    Printer.ScaleTop = 0     '对坐标原点重新设置为零
    Printer.CurrentX = 0
    Printer.CurrentY = 0
  '加入X轴和Y轴偏移量方便调整打印位置
   
    Dim tou_l As Integer
    tou_l = Len(Combo1.Text)

    If tou_l <= 10 Then      '判断抬头字符是否超过10个字,不超过就打印一行,否则就两行或者三行
        Printer.CurrentX = X_p + 53
        Printer.CurrentY = Y_p + 16
        Printer.Print Combo1.Text
    End If
1 回复
#2
lianyicq2015-04-29 14:45
在ScaleMode设置后对ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight设置都会自动将ScaleMode置为零。使用用户自定义的坐标系。
1