PDA

Click to See Complete Forum and Search --> : Save a form's face as an image file


charlieanfield
Jul 4th, 2001, 09:27 PM
It is easy to print a form's details directly by printer:

Printer.Print Form1

How about saving it as an image (BMP or JPG) file ?

I have a SaveScreen function but it also save the title bar of an active window.

Pls help...

Megatron
Jul 5th, 2001, 09:08 AM
Use the function: What is does is copy the Form's DC to a PictureBox, then we save it by calling the SavePicture function.

Make sure that the PictureBox (in the pBox argument) is invisible.

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

Sub SaveScreen(vFrm As Form, pBox As PictureBox, sFileName As String)
Dim iWidth As Integer, iHeight As Integer

pBox.Visible = False
pBox.AutoRedraw = True
vFrm.AutoRedraw = False
pBox.Move 0, 0, vFrm.ScaleWidth, vFrm.ScaleHeight
iHeight = vFrm.ScaleHeight / Screen.TwipsPerPixelY
iWidth = vFrm.ScaleWidth / Screen.TwipsPerPixelX
BitBlt pBox.hDC, 0, 0, iWidth, iHeight, vFrm.hDC, 0, 0, vbSrcCopy
SavePicture pBox.Image, sFileName
End Sub

And you would call it like:

SaveScreen Form1, Picture1, "C:\MyFile.bmp"