VB Code:
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




Reply With Quote