VB中实现“所见即所得”功能
作者: 来源: 添加时间:2006-5-21 20:55:46为了在屏幕上可以清楚地看到文字和图形在打印纸上的位置和大小关系,必须使VB显示窗口的大小比例和打印纸张的大小比例是一致的。打印纸张的大小可以使用Printer对象的Width和Height属性来获得。根据获得的属性值可以设置VB显示窗体的大小比例,使之合乎纸张的比例大小。
下面的程序中有一个变量Size,其取值的范围为0-1。它的作用是控制打印图形的大小。当Size的值为1的时候,打印图形将和Windows设定的纸张一样大小。具体程序如下:
Sub Form_Load ()
Dim SizeAS INTECER
Size=0.95
Form1.Height=Printer.Height*Size
Form1.Wdth=Printer.Width*Size
End Sub
四、模拟打印和打印输出
下面的一段程序演示了在显示窗体上模拟打印文字和图形的方法,以及使用PrintForm把显示窗体中的文字和图形输出到打印机的方法。
注意的是:为了使用PrintForm方法,必须把显示窗体的AutoRedraw属性设置为True。
由于PrintForm方法打印窗体的内容是使用bit-by-bit的拷贝方法,因此在窗体里的所有文字和图形都可以被原样打印出来。作为例子,我们可以使用OLE控件来显示Word公式编辑器里编辑的公式,使用Picture和Graph控件来显示图形和统计图。然后使用PrintForm方法将它们打印出来。
具体程序如下:
Sub PrintOnScreen ()
Form1.Scale(0,0)-(100,100) ’ 设置坐标
Form1.Line(100,0)-(0,100) ’ 显示画线
Form1.CurrentX=0
Form1.CurrentY=0
Form1.FontName="宋体" ’ 输出文字
Form1.FontSize=20
Form1.Print "模拟打印"
Picture1.Picture=LoadPicture("setup.bmp") ’输出图形
Form1.PrintForm ’ 将显示窗体的内容送到打印机
Printer.EndDoc ???’ 开始打印
End Sub
第 2 页,共 2 页 [1] [2]
站内搜索