用VB的Printer对象直接写打印代码

解决方案 »

  1.   

    不知道是不是你想要的:以下摘自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 SubPrivate Sub Timer1_Timer ()
       Dim I   ' 声明变量。
       ' 在一个范围内随机地画些点。
       For I = -1 To 1 Step .05
          Picture1.PSet (I * Rnd, I * Rnd)   ' 画一个点。
       Next I
    End Sub