三、采用直接将数据传送打印机的方法进行打印输出
该方法也不太实用。有两种方法将数据送往打印机。第一种是用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进入讨论组讨论。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- VB+Access设计图书管理系统 (104238次浏览)
- VB设计有语音报时和报警功能的闹钟 (13528次浏览)
- 用VB打造“超酷”个性化菜单 (667次浏览)
- VB基础学习:编码规范 (654次浏览)
- 对注册表进行编程的“捷径” (646次浏览)
- 在IIS中建立WEB站点的例子! (603次浏览)
- 用VB6.0设计简易赛车游戏 (414次浏览)
- VB6 和 VB2005 中的用户界面控件 (339次浏览)
- 导入注册表设置 (308次浏览)
- 用Visual Basic.NET编写扑克牌游戏 (189次浏览)



