日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VB的几种打印方法

發布時間:2023/12/10 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VB的几种打印方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們編程時,如果在程序中加入“打印”功能會使程序更加完善,更加專業。下面,我提供幾種編寫打印程序的方法以供大家參考。
  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?? 4? 1440 -Step 1440 1440 ?B
  打印機、從窗體和圖形框都有Circle、PaintPicture、Print、Pset、TextHeight、TextWidth方法。使用這些方法應用程序可以為打印機生成高分辨率輸出。
  打印文本直接用Print方法,見下列代碼:
  Printer.Print "HelloChina 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.Description vbOKOnly +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

總結

以上是生活随笔為你收集整理的VB的几种打印方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。