各位大佬HELP!解决用Printer对象打印图形问题,Help Me!

langyangr 2000-04-10 10:54:00

小弟现用VB编写一个打印图,为什么老是放大后不能完全打印出来?代码如下:
Dim ii As Integer
'Msg.Show vbModal '---设置Scale 属性
'MsgBox Printer.ScaleWidth
'MsgBox Printer.ScaleHeight
'---Width到了哪里
Printer.TrackDefault = True
Set Printer = Printers(0)
Printer.ColorMode = vbPRCMColor
'Printer.ScaleMode = vbPixels
Printer.PrintQuality = -3
Printer.ScaleLeft = 0
Printer.ScaleTop = 50
'Printer.Zoom = 75
'MsgBox Printer.ScaleWidth * Module1.放大系数
For ii = 1 To Module1.线条数
Printer.DrawWidth = Line1(ii).BorderWidth
Printer.DrawStyle = Line1(ii).BorderStyle - 1 ' 是否 -1 ?
Printer.FillColor = Line1(ii).BorderColor
Printer.FillStyle = 0
Printer.Line (CInt(Line1(ii).X1), CInt(Line1(ii).Y1 _
))-(CInt(Line1(ii).X2), _
CInt(Line1(ii).Y2))
Next ii
For ii = 1 To Module1.字符串数
Printer.CurrentX = CInt(Label1(ii).Left)
Printer.CurrentY = CInt(Label1(ii).Top)
Printer.FontName = Label1(ii).FontName
Printer.FontSize = Label1(ii).FontSize
Printer.FillColor = Label1(ii).ForeColor
Printer.FontBold = Label1(ii).FontBold
Printer.Print Label1(ii).Caption
Next ii
For ii = 1 To Module1.TextIndex
Printer.CurrentX = CInt(Text2(ii).Left)
Printer.CurrentY = CInt(Text2(ii).Top)
Printer.FontName = Text2(ii).FontName
Printer.FontSize = Text2(ii).FontSize
Printer.FillColor = Text2(ii).ForeColor
Printer.FillStyle = 0
Printer.FontBold = Text2(ii).FontBold
Printer.Print Text2(ii).Text
Next ii
Printer.EndDoc
MyError:
Select Case Err.Number
Case 6
MsgBox "请重新设置打印状态!可能是打印纸设置错误或宽高不对!", 48, "列车运行图"
Exit Sub
Case 28663
MsgBox "没有默认的打印机!", 48, "列车运行图"
Exit Sub
End Select

是不是在打印的时候没有好好的设置好Printer(0).scalewidth 和 Printer(0).scaleheigh?
...全文
181 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxshao 2000-06-27
  • 打赏
  • 举报
回复
www.videosoft.com

vsprinter
vsview
vga 2000-06-17
  • 打赏
  • 举报
回复
listen

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧