我的表單超出一個畫面(1024*768)我寫下面的程式卻無法將超出畫面的表單列印出來
不知問題出在哪裡
Public Sub mprint_Click()
'Printer.PaperSize = 9 '設定A4 SIZE
Dim sx As Long, sy As Long, hDC As Long
Dim px As Long, py As Long
Picture1.ScaleMode = vbPixels
sx = Picture1.Width / Screen.TwipsPerPixelX
sy = Picture1.Height / Screen.TwipsPerPixelY
picprint.Width = sx
picprint.Height = sy
picprint.AutoRedraw = True
hDC = GetWindowDC(Me.hWnd)
BitBlt picprint.hDC, 0, 0, sx, sy, hDC, 0, 0, vbSrcCopy
ReleaseDC Me.hWnd, hDC
picprint.AutoRedraw = False
Set picprint.Picture = picprint.Image
Picture1.ScaleMode = vbTwips
Printer.ScaleMode = vbTwips
px = (Printer.ScaleWidth - picprint.Width) / 2
py = (Printer.ScaleHeight - picprint.Height) / 2
Printer.PaintPicture picprint.Picture, px, py
Printer.NewPage
Printer.PaintPicture picprint.Picture, px, py
Printer.EndDoc
End Sub
不知問題出在哪裡
Public Sub mprint_Click()
'Printer.PaperSize = 9 '設定A4 SIZE
Dim sx As Long, sy As Long, hDC As Long
Dim px As Long, py As Long
Picture1.ScaleMode = vbPixels
sx = Picture1.Width / Screen.TwipsPerPixelX
sy = Picture1.Height / Screen.TwipsPerPixelY
picprint.Width = sx
picprint.Height = sy
picprint.AutoRedraw = True
hDC = GetWindowDC(Me.hWnd)
BitBlt picprint.hDC, 0, 0, sx, sy, hDC, 0, 0, vbSrcCopy
ReleaseDC Me.hWnd, hDC
picprint.AutoRedraw = False
Set picprint.Picture = picprint.Image
Picture1.ScaleMode = vbTwips
Printer.ScaleMode = vbTwips
px = (Printer.ScaleWidth - picprint.Width) / 2
py = (Printer.ScaleHeight - picprint.Height) / 2
Printer.PaintPicture picprint.Picture, px, py
Printer.NewPage
Printer.PaintPicture picprint.Picture, px, py
Printer.EndDoc
End Sub
全站熱搜
留言列表