VB打印控件,经典实用,

时间:2016-08-18 06:42:27
【文件属性】:
文件名称:VB打印控件,经典实用,
文件大小:2.88MB
文件格式:RAR
更新时间:2016-08-18 06:42:27
VB VB打印控件 Private Sub Image5_Click() '打印报表 Dim i As Integer Dim pageleft As Integer Dim pageheader As Integer Dim pagefooter As Integer Dim pageright As Integer Dim startx As Integer Dim starty As Integer Dim startline As Integer Dim endline As Integer Dim usewidth As Integer Dim useheight As Integer pageheader = 25 pagefooter = 25 pageleft = 20 pageright = 20 '定义纸张类型A4 Printer.FontSize = 20 Printer.PaperSize = 9 Printer.ScaleMode = 6 Printer.FontBold = False Printer.ScaleLeft = -20 Printer.ScaleTop = -25 Printer.ScaleWidth = 210 Printer.ScaleHeight = 297 usewidth = Printer.ScaleWidth - 40 useheight = Printer.ScaleHeight - 50 Printer.CurrentX = 0 Printer.CurrentY = 0 Printer.DrawWidth = 2 '打印主标题 Printer.FontSize = 20 Printer.CurrentX = (usewidth - Printer.TextWidth(Me.Text1.Text & "经济情况表")) / 2 Printer.CurrentY = Printer.ScaleTop Printer.Print Me.Text1.Text & "经济情况表" '打印空白行 Printer.FontSize = 8 Printer.CurrentX = (usewidth - Printer.TextWidth("")) / 2 Printer.CurrentY = Printer.CurrentY + 1 Printer.Print "" '打印副标题 Printer.FontSize = 15 Printer.CurrentX = (usewidth - Printer.TextWidth(commonth & "月份经济情况报表")) / 2 Printer.CurrentY = Printer.CurrentY + 1 Printer.Print commonth & "月份经济情况报表" '打印空白行 Printer.FontSize = 8 Printer.CurrentX = (usewidth - Printer.TextWidth("")) / 2 Printer.CurrentY = Printer.CurrentY + 1 Printer.Print "" '打印表的内容 '首先打印第一条横线 '打印最上边的第一条横线 Printer.CurrentX = pageleft + Printer.ScaleLeft startline = Printer.CurrentY + 1 Printer.Line -((Printer.ScaleLeft + Printer.ScaleWidth - pageleft), Printer.CurrentY) Printer.FontSize = 12 Printer.CurrentY = Printer.CurrentY + 1 starty = Printer.CurrentY Printer.CurrentX = ((Printer.ScaleWidth - 40) / 3 - Printer.TextWidth("")) / 2 Printer.Print "" Printer.FontSize = 12 Printer.CurrentX = usewidth / 3 + ((usewidth / 3 - Printer.TextWidth("今年经济情况")) / 2) Printer.CurrentY = starty Printer.Print "今年经济情况(万元)" Printer.FontSize = 12 Printer.CurrentX = (usewidth / 3) * 2 + ((usewidth / 3 - Printer.TextWidth("去年经济情况")) / 2) Printer.CurrentY = starty Printer.Print "去年经济情况(万元)" Printer.CurrentX = pageleft + Printer.ScaleLeft Printer.CurrentY = Printer.CurrentY + 1 Printer.Line -((Printer.ScaleLeft + Printer.ScaleWidth - pageleft), Printer.CurrentY) Printer.CurrentY = Printer.CurrentY + 1 For i = 0 To 10 '判断是否该页已打满 Me.MSFlexGrid1.Row = i If Printer.CurrentY >= useheight Then '打印横线 Printer.CurrentX = Printer.ScaleLeft + pageleft Printer.Line -((Printer.ScaleLeft + Printer.ScaleWidth - pageleft), Printer.CurrentY) Printer.CurrentY = Printer.CurrentY + 1 '打印四条竖线 endline = Printer.CurrentY Printer.Line (0, startline)-(0, endline) Printer.Line (usewidth / 3, startline)-(usewidth / 3, endline) Printer.Line ((usewidth / 3) * 2, startline)-((usewidth / 3) * 2, endline) Printer.Line (usewidth, startline)-(usewidth, endline) '打印页号 Printer.CurrentX = (Printer.ScaleWidth - Printer.TextWidth(Printer.Page)) / 3 - pageleft Printer.CurrentY = useheight + 3 Printer.Print Printer.Page Printer.NewPage 'NewPage告诉打印机,程序对当前输出页的发送已经结束。Printer对象应开始新的一页。 Printer.CurrentX = pageleft + Printer.ScaleLeft Printer.CurrentY = pageheader + Printer.ScaleTop startline = Printer.CurrentY Else '打印一行数据 Me.MSFlexGrid1.Col = 0 Printer.CurrentX = ((Printer.ScaleWidth - 40) / 3 - Printer.TextWidth(Me.MSFlexGrid1.Text)) / 8 starty = Printer.CurrentY Printer.Print Me.MSFlexGrid1.Text Me.MSFlexGrid1.Col = 1 Printer.CurrentX = (Printer.ScaleWidth - 40) / 3 + ((Printer.ScaleWidth - 40) / 3 - Printer.TextWidth(Me.MSFlexGrid1.Text)) / 2 Printer.CurrentY = starty Printer.Print Me.MSFlexGrid1.Text Me.MSFlexGrid1.Col = 2 Printer.CurrentX = ((Printer.ScaleWidth - 40) / 3) * 2 + ((Printer.ScaleWidth - 40) / 3 - Printer.TextWidth(Me.MSFlexGrid1.Text)) / 2 Printer.CurrentY = starty Printer.Print Me.MSFlexGrid1.Text Printer.CurrentX = pageleft + Printer.ScaleLeft Printer.CurrentY = Printer.CurrentY + 1 Printer.Line -((Printer.ScaleLeft + Printer.ScaleWidth - pageleft), Printer.CurrentY) Printer.CurrentY = Printer.CurrentY + 1 End If Next i '打印最后一条横线 Printer.CurrentX = Printer.ScaleLeft + pageleft Printer.Line -((Printer.ScaleLeft + Printer.ScaleWidth - pageleft), Printer.CurrentY) endline = Printer.CurrentY '打印四条竖线 Printer.Line (0, startline)-(0, endline) Printer.Line (usewidth / 3, startline)-(usewidth / 3, endline) Printer.Line ((usewidth / 3) * 2, startline)-((usewidth / 3) * 2, endline) Printer.Line (usewidth, startline)-(usewidth, endline) '打印页号 Printer.CurrentX = (Printer.ScaleWidth - Printer.TextWidth(Printer.Page)) / 3 - pageleft Printer.CurrentY = useheight + 3 'Printer.Print Printer.Page Printer.Print " 哈尔滨高新技术开发区" Printer.EndDoc 'EndDoc告诉VISUAL BASIC,程序创建文档结束。VISUAL BASIC应将它发送到物理打印机上打印。 If Err.Number = 0 Then MsgBox "you are successful!", , "" End If End Sub
【文件预览】:
简化版VB打印控件
----简化版vb打印控件.rar(128KB)
----文本测试.txt(905B)
----控件使用实列()
--------文本测试.txt(905B)
--------printpreview.frx(1.38MB)
--------ZLIB.DLL(52KB)
--------maintest.frx(1013B)
--------maintest.frm(5KB)
--------测试.vbp(954B)
--------printpreview.frm(34KB)
--------简化版VB打印控件测试.exe(1.52MB)
--------previewdata.frm(1KB)
--------测试.vbw(153B)
--------VBprint.ocx(396KB)
----ZLIB.DLL(52KB)
----简化版VB打印控件测试.exe(1.52MB)
----VBprint.ocx(396KB)
说明.txt
全功能版VB打印控件
----文本测试.txt(905B)
----gwxprint.ocx(656KB)
----控件使用实列()
--------文本测试.txt(905B)
--------printpreview.frx(1.38MB)
--------gwxprint.ocx(656KB)
--------gwxprint.oca(59KB)
--------全功能版VB打印控件测试.exe(1.52MB)
--------ZLIB.DLL(52KB)
--------maintest.frx(1013B)
--------maintest.frm(6KB)
--------测试.vbp(958B)
--------printpreview.frm(36KB)
--------previewdata.frm(1KB)
--------测试.vbw(157B)
----全功能版vb打印控件.rar(184KB)
----全功能版VB打印控件测试.exe(1.52MB)
----ZLIB.DLL(52KB)

网友评论