频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Visual Basic应用程序的几种打印方法

来源:blog 作者: 出处:巧巧读书 2006-12-29 进入讨论组
上一页 1 2 
三、采用直接将数据传送打印机的方法进行打印输出

  该方法也不太实用。有两种方法将数据送往打印机。第一种是用Print # 方法,就象将数据写入一个文件一样写数据。另一种方法写端口,但不是送文本,而是送特定的PCL语言,PCL表示打印控制语言(Print Control Language)。它是一种特殊语言,用转义代码来控制打印机的具体动作。因为此方法太繁琐,本文不做太多介绍,见谅。

  四、使用RichTextBox控件的SelPrint方法


  如果你在编程时用到了RichTextBox控制,那么你可以使用该控件的SelPrint 方法来打印,使用非常简单。下面一段代码即用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.Description, vbOKOnly + vbExclamation,
"Printing Error!"
Exit Sub
End If
Printer.Print ""
RTF1.SelPrint CommonDialog1.hDC '
打印RTF1控件的可见区域
End Sub

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

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

  五、可以在VB中调用Word 97提供的OLE自动化服务

  利用Word 97强大的打印功能来完成VISUAL BASIC打印,笔者认为这是最令人满意的方法。下面代码说明VB如何与Word集成。
 
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

  六、用VC编制DLL模块完成打印

  在Visual Basic中调用该模块的混合编程的方法进行打印输出。因涉及VC编程比较繁琐,因篇幅问题这里不再讨论,但可以肯定用VC编制的打印将更具特色。

  笔者的试题库采用的是第五和第六两种方案,如果机器上没有Word ,就调用DLL打印模块。打印是编程工作中重要的一部分,总的来说,微软已经使打印变得极为简便,但还要我们做一些必须的工作。希望本文能够拓展你编程的思路,编出更好的应用程序。Web: http://www.qqread.com/vb/i290930.html进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章