当前位置:编程学习 > VB >>

谁能解决我的问题,急急急。

本人用了EPSON TM-U220 打印机打印发票。发现打出来的发票上下页边距太大,客户不满意,要求缩小上下边距,但我打电话问了EPSON公司的高级工程师,他回答要在VB中设置上面页边距,本人是初学者,不懂,请高手指点。谢谢。是上下边距,不是左右边距。 --------------------编程问答-------------------- 贴出代码,让大家帮你改下。 --------------------编程问答-------------------- 用VB的Printer对象直接写打印代码 --------------------编程问答-------------------- 对,贴出代码。 --------------------编程问答--------------------     Printer.Height = 100 * 56.7
    Printer.Width = 76 * 56.7
    Printer.ScaleMode = vbPoints
    Printer.ScaleLeft = -12.5
    Printer.FontSize = 9.5
    Printer.FontName = "Fontb11"
    Printer.Print ""
    Printer.Print "购气日期:"; Now
    Printer.Print ""
    Printer.Print "用户名称:中华"
    Printer.Print "用户卡号:"
    Printer.Print ""
    Printer.Print "购 气 量:"
    Printer.Print "购气金额:"
    Printer.Print ""
    Printer.Print "收 款 员:"
    Printer.Print "收款单位:"
    Printer.Print ""
    Printer.Print "服务电话:027-87027321"
           
Printer.NewPage
Printer.EndDoc
Printer.KillDoc --------------------编程问答-------------------- 没人来帮我吗?
--------------------编程问答-------------------- 不知道是不是你想要的:

以下摘自MSDN:

ScaleLeft、ScaleTop 属性
      

当使用图形方法或调整控件位置时,返回或设置一个对象左边和上边水平 (ScaleLeft) 和垂直 (ScaleTop) 的坐标。

语法

object.ScaleLeft [= value]

object.ScaleTop [= value]

ScaleLeft 和 ScaleTop 属性的语法包含下面部分:

部分 描述 
Object 对象表达式,其值是“应用于”列表中的一个对象。 
Value 一个用来指定水平或垂直坐标的数值表达式。缺省设置值为 0。 


说明

这些属性和相关的 ScaleHeight 与 ScaleWidth 属性的使用,可以建立起一个完全的带有正、负坐标的坐标系统。这四个 Scale 属性与 ScaleMode 属性按下面的方式进行交互作用: 

把其它任何 Scale 属性设置为任何值都将使 ScaleMode 自动地设置为 0。ScaleMode 等于 0 是用户定义。


把 ScaleMode 设置为一个大于 0 的数,将使 ScaleHeight 和 ScaleWidth 的度量单位发生改变,并将 ScaleLeft 和 ScaleTop 设置为 0。另外,CurrentX 和 CurrentY 的设置值将发生改变以反映当前点的新坐标。 
也可以在语句中使用 Scale 方法设置 ScaleHeight、ScaleWidth、ScaleLeft 和 ScaleTop 属性。

注意 ScaleLeft 和 ScaleTop 属性与 Left 和 Top 属性是不一样的。


ScaleLeft、ScaleTop 属性示例
本例在 PictureBox 控件中创建一个网格,并将左上角的坐标设置为 -1, -1 以代替 0, 0。每隔 0.25 秒,从左上角到右下角随机地画些点。要试用此例,先将下面的代码粘贴到包含一个大的 PictureBox 和 Timer 控件的窗体的声明部分中,然后按 F5 键。

Private Sub Form_Load ()
   Timer1.Interval = 250   ' 设置计时器的间隔。
   Picture1.ScaleTop = -1   ' 为网格的顶部设置刻度。
   Picture1.ScaleLeft = -1   ' 为网格的左部设置刻度。
   Picture1.ScaleWidth = 2   ' 设置刻度范围 (-1 到1)。
   Picture1.ScaleHeight = 2
   Picture1.Line (-1, 0)-(1, 0)   ' 画水平线。
   Picture1.Line (0, -1)-(0, 1)   ' 画垂直线。
End Sub

Private Sub Timer1_Timer ()
   Dim I   ' 声明变量。
   ' 在一个范围内随机地画些点。
   For I = -1 To 1 Step .05
      Picture1.PSet (I * Rnd, I * Rnd)   ' 画一个点。
   Next I
End Sub

--------------------编程问答-------------------- 发票打印,一般都是用的现成印刷好的多联发票纸+针式打印机打印+复写,基本上都是一个萝卜一个坑,往固定位置上打印对应内容即可,何来上下边距之说? 难道你的发票是用完全空白纸打印出来的??
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,