rufus
Feb 15th, 2002, 08:49 AM
I have a requirement do screen prints in my Project. Is there an API call that will allow me to do this ?
Hack
Feb 15th, 2002, 09:24 AM
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_MENU As Byte = &H12
Private Const VK_SNAPSHOT As Byte = &H2C
Private Const KEYEVENTF_KEYUP = &H2
Private Sub cmdPrintForm_Click()
Dim lWidth As Long, lHeight As Long
Clipboard.Clear
Call keybd_event(VK_MENU, 0, 0, 0)
Call keybd_event(VK_SNAPSHOT, 0, 0, 0)
DoEvents
Call keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0)
Printer.Print
If Width > Printer.ScaleWidth Then
lWidth = Printer.ScaleWidth
lHeight = (Printer.ScaleWidth / Width) * Height
Else
lWidth = Width
lHeight = Height
End If
Printer.PaintPicture Clipboard.GetData, 0, 0, lWidth, lHeight
Printer.EndDoc
End Sub
'PrintForm
'To print the form using Ctrl-P
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'KeyPreview must be set to True
If (Shift And vbCtrlMask) = vbCtrlMask And KeyCode = vbKeyP Then
cmdPrintForm_Click
End If
End Sub