VB Code:
With picNewInvisible
.top = picNew.top
.left = picNew.left
.Width = picNew.Width
.Height = picNew.Height
.Visible = False
.BorderStyle = 1
.BackColor = &H80000005
End With
picNewInvisible.AutoRedraw = True
rv = SendMessage(picNew.hwnd, WM_PAINT, picNewInvisible.hDC, 0)
rv = SendMessage(picNew.hwnd, WM_PAINT, picNewInvisible.hDC, PRF_CHILDREN + PRF_CLIENT + PRF_OWNED)
SmallPrnPicWidth = picNewInvisible.Width * PrnPicWidth / Picture1.Width
SmallPrnPicHeight = picNewInvisible.Height * PrnPicHeight / Picture1.Height
SmallPrnPicLeft = picNewInvisible.left * PrnPicWidth / Picture1.Width
SmallPrnPicTop = picNewInvisible.top * PrnPicHeight / Picture1.Height
picNewInvisible.Picture = picNewInvisible.Image
picNewInvisible.AutoRedraw = False
Printer.PaintPicture picNewInvisible, SmallPrnPicLeft, SmallPrnPicTop, SmallPrnPicWidth, SmallPrnPicHeight
picNew is the picture inside Picture1 that you want to see printed out