友情提示:妳點下打印鍵的時候沒有提示會直接打印出窗口內容來,沒有確定取消的按鈕的,當初我在公司試的時候隨便貼了個很爛的圖就給打出來了,還被人笑了。。。
'添加 Picture1 Picture2 各別放壹張圖片 窗體也可加圖片, 只是測試用罷了.
,Text1 隨便打壹些內容,(只是測試用)
'再隨便加壹個Picture3 用來保存圖片
'Command1 抓圖存圖 Command2 打印
'本代碼是將窗體內所有的控件與窗體壹起保存到Picture3再打印出來.
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const theScreen = 0 '整個Screen
Const theForm = 1 '當前活動界面
Private Sub Form_Load()
Command1.Caption = "抓取窗體"
Command2.Caption = "打 印"
Picture3.Move Screen.Width
Picture3.AutoRedraw = True
Picture3.BorderStyle = 0
Me.AutoRedraw = False
Clipboard.Clear
End Sub
Private Sub Command1_Click()
Me.Refresh
Picture3.Picture = LoadPicture()
Picture3.Width = Me.Width
Picture3.Height = Me.Height
Call keybd_event(vbKeySnapshot, 1, 0, 0)
DoEvents
Picture3.Picture = Clipboard.GetData(vbCFBitmap)
Set Picture3.Picture = Picture3.Image '此時才真正顯示Picture
'SavePicture Picture3.Image, "c:\kkkw.bmp"
End Sub
Private Sub Command2_Click()
Printer.PaintPicture Picture3.Picture, 0, 0, Picture3.Width, Picture3.Height
Printer.EndDoc
End Sub
有空妳搜索下CBM666的代碼,絕對能給妳很大收獲