首页 网站建设 网络营销 品牌策划 网站托管 新闻营销 品牌公关 行业资讯

当前位置:网络营销_SEO优化_网站推广_网络营销公司-爱牛北京网络公司 >首页 -> 打印机使用技巧

VB的几种打印方法
2011-05-27 10:28:56 来源: 作者: 【 】 浏览:50

 

  我们编程时,如果在程序中加入“打印”功能会使程序更加完善,更加专业。下面,我提供几种编写打印程序的方法以供大家参考。

  1. 采用Visual Basic提供的简单打印函数PrintForm方法

  应用程序窗体的PrintForm方法时,Visual Basic把当前窗体的位图送到打印机。该方法的优点在于它几乎不需要任何编程,但也有很大缺陷。最为突出的是当低分辨率图形在高分辨率打印机上打印时,其结果令人无法满意,会产生锯齿。

  代码如下:

  Private Sub Command1_Click()  '用PrintForm打印

  Me.PrintForm '打印窗体的可见区域

  End Sub

  2. 用Printer对象

  要想产生复杂的打印输出,编程较为烦琐。Printer对象代表系统缺省的打印机,Printer对象支持许多由窗体和图形框所支持的属性和方法,三种对象都有画线和画方框。应用程序可用以下代码在Printer对象上画出1平方英寸的方框。注意:打印机以twips来测量距离。每英寸有1440个twips。

  Printer.Line(2*1440,2*1440) -Step(1440,1440),B

  打印机、从窗体和图形框都有Circle、PaintPicture、Print、Pset、TextHeight、TextWidth方法。使用这些方法,应用程序可以为打印机生成高分辨率输出。

  打印文本直接用Print方法,见下列代码:

  Printer.Print “Hello,China ComputerWorld!” '打印字符串

  Printer对象还有一些窗体和图形框都没有方法

  NewPage告诉打印机,程序对当前输出页的发送已经结束,Printer对象应开始新的一页。

  EndDoc告诉VB,程序创建文档结束,VB应将它发送到物理打印机上打印。

  KillDoc取消当前打印作业。应用程序应该终止由EndDoc和KillDoc所设定的每个打印作业。

  Zoom属性用于定义打印输出的缩放因子。

  Copies属性用于定义打印的副本数目。

  3. 如果你在编程时用到了RichTextBox控件,那么你可以使用该控件的SelPrint 方法来打印

  代码如下:

  Private Sub Command3_Click()'SelPrint方法

  CommonDialog1.Flags=cdlPDReturnDC+

  cdlPDNoPageNums

  If RTF1.SelLength = 0 Then 'RTF1为窗体的RichTextBox控制

  CommonDialog1.Flags = CommonDialog1.Flags+ cdlPDAllPages

  Else

  CommonDialog1.Flags = CommonDialog1.Flags+ cdlPDSelection

  End If

  CommonDialog1.CancelError = True

  On Error Resume Next

  CommonDialog1.ShowPrinter

  If Err.Number = cdlCancel Then Exit Sub

  If Err.Number <> 0 Then

  Beep

  MsgBox “Error printing file.” & vbCrLf + Err.DescriptionvbOKOnly +vbExclamation“Printing Error”

  Exit Sub

  End If

  Printer.Print “”

  RTF1.SelPrint CommonDialog1.hDC '打印RTF1控件的可见区域

  End Sub

  上面代码先进行打进设置,再进行打印。如果不需要设置,采用下面代码更为简单:

  RTF1.SelPrint Printer.hDC '打印RTF1控件的可见区域

  4.可以在VB中调用Word 97提供的OLE自动化服务,利用Word 97强大的打印功能来完成VB打印

  代码如下:

  Private Sub Command4_Click'调用Word打印

  Dim objWord As Object

  Const CLASSOBJECT = “Word.Application”

  On Error GoTo objError

  Set objWord = CreateObject(CLASSOBJECT)

  objWord.Visible = True

  objWord.Documents.Add

  With objWord

  .ActiveDocument.Paragraphs.Last.Range.Bold = False

  .ActiveDocument.Paragraphs.Last.Range.Font.Size =20

  .ActiveDocument.Paragraphs.Last.Range.Font.Name = “黑体”

  .ActiveDocument.Paragraphs.Last.Range.Font.ColorIndex==4

  .ActiveDocument.Paragraphs.Last.Range.Text = “我是电脑报读者!”

  End With

  Clipboard.Clear

  Clipboard.SetText “通过剪切板向WORD传送数据!”

  objWord.Selection.Paste

  objWord.PrintPreview = True '预览方式

  'objWord.PrintOut'执行打印

  'objWord.Quit'退出Word

  Exit Sub

  objError

  If Err <> 429 Then

  MsgBox Str$(Err)& Error$

  Set objWord = Nothing '不能创建Word对象则退出

  Exit Sub

  Else

  Resume Next

  End If

  End Sub

爱牛网络公司拥有十三年网络营销推广经验的北京网络营销公司,专业的网络营销团队为您提供网络营销策划,网络推广,网络优化,网络营销外包,网站推广,网络营销推广公司。服务电话13552895708
Tags: 责任编辑:admin
】【打印繁体】【收藏】 【关闭】 【返回顶部
上一篇打印端口损坏的应急措施 下一篇编写打印程序的注意事项

相关栏目

最新文章

图片信息

热门文章

推荐文章

相关文章