一开始,偶定义了一个打印机对象:
DIM Printer1 AS Printer
然后就开始使用了:
...
With Printer1
.NewDoc '没记错的话应该是这个开始吧,但是我的VB上居然跳不出着个方法
.CurrentX = ...
.CurrentY = ... '
.Print "..." '等等,这个方法我也没有记错吧,可还是跳不出来
.EndDoc '可笑的是这个方法却能跳出来
End With
...郁闷中...
明天就要做打印功能测试,居然卡在这里了,无语中...
DIM Printer1 AS Printer
然后就开始使用了:
...
With Printer1
.NewDoc '没记错的话应该是这个开始吧,但是我的VB上居然跳不出着个方法
.CurrentX = ...
.CurrentY = ... '
.Print "..." '等等,这个方法我也没有记错吧,可还是跳不出来
.EndDoc '可笑的是这个方法却能跳出来
End With
...郁闷中...
明天就要做打印功能测试,居然卡在这里了,无语中...
解决方案 »
- 通过 Winsock 控件建立一服务对多客户(TCP)的模式,现在请教两个问题:
- 怎样改变状态栏颜色?
- 有关工资程序的数据库结构
- 怎样计算含有汉字、字母、数字等字符的字串的长度?每个汉字要算2个字节,其他字符各算一个字节。不用遍历字串的方法,行不行?
- 【CSDN】【求类似visual studio.net工具箱的控件源码】
- 当用户搞键盘时,如何获取系统键盘内码?
- 关于让窗口显示在最前端的问题,谢谢您告诉我!
- 再vb中怎样做sql2000的数据库恢复啊!我只有一个a.bak文件,急死了!!!!!!!!!!!!11
- Activex dll有一个不明白的地方!
- 怎么用程序自动配置IIS?
- 怎样锁定DataGrid单元格中数据不被修改
- 镂空贴图的内容如何保存呀
还是不行.
我的经验是:正如stlyl(stlyl(维生素B))说的,VB的printer有时他就是不能用with,只能老实地采用 printer.方法(或属性)才不会出错。
我的推测是:比方讲 printer.print 与其说是方法调用,还不如说是vb这种语言固定的语句。
再比如讲:你要获得printer的hdc,如果在此之前没有对printer的任何调用的话,那你得不到你想要的,正确的方法是:
printer.print " "
h=printer.hdc
事实就是这样的,没有办法。
事实上是,连printer.print这个方法都出不来
测试通过
Printer.CurrentX = 0
Printer.CurrentY = 100
Printer.Print "中国人民解放了." & Printer.Page '等等,这个方法我也没有记错吧,可还是跳不出来
Printer.NewPage
Printer.CurrentX = 0
Printer.CurrentY = 100
Printer.Print "中国人民解放了." & Printer.Page '等等,这个方法我也没有记错吧,可还是跳不出来
Printer.EndDoc '可笑的是这个方法却能跳出来
Private Sub Command1_Click()
Dim op As Object
Set Printer = Printers(cmbPrinterName.ListIndex)
Set op = Printer
With op
.CurrentX = 0
.CurrentY = 100
.CurrentX = 100
.CurrentY = 500
End With
op.Print "I love you" & Printer.Page
Printer.EndDoc
End SubPrivate Sub Form_Load()
Dim i As Long
For i = 0 To Printers.Count - 1
cmbPrinterName.AddItem Printers(i).DeviceName
If Printers(i).DeviceName = Printer.DeviceName Then cmbPrinterName.ListIndex = i
Next i
End Sub
==========================================================
VB内置的对象的,很多不能自动弹出Print方法
比如form,picturebox都不可以,但是可以直接用?代替
.enddoc是配对使用的
DIM Printer1 AS Printer '但我不知道你是否给Printer1创建实例,如set Printer1=printer
然后就开始使用了:
...
With Printer1
.NewDoc '好像是newpage
.CurrentX = ...
.CurrentY = ... '
.Print "..." '等等,这个方法我也没有记错吧,可还是跳不出来
.EndDoc '可笑的是这个方法却能跳出来
End With
...
有些虚拟打印机会有一些莫名其妙的问题,如Xchang pdf
你用真实打印机试
发现居然不需要定义PRINTER对象,而是直接就拿来用.
也就是说,我前面的程序只要去掉那个
DIM PRINTER1 AS PRINTER
后面直接用PRINTER对象就可以操作打印了.
哎,真是折腾.