PRINTFORM

USUARIO.EXCLUIDOS 02/03/2005 18:50:19
#70818
Precisava de imprimir um form centrado na folha. Haverá forma de fazer isto?
USUARIO.EXCLUIDOS 05/03/2005 18:10:08
#71275
...
GABRIEL.LOGAN 05/03/2005 19:13:36
#71283
Imprimir form? Que coisa, acho que não entendi....
USUARIO.EXCLUIDOS 06/03/2005 04:52:35
#71355
Digo...imprimir a janela com printform
USUARIO.EXCLUIDOS 12/03/2005 04:47:47
#72518
Alguém pode ajudar?
USUARIO.EXCLUIDOS 31/03/2005 14:35:15
#76024
Haverá forma de fazer tipo um printform mas centrando o form na folha?!
USUARIO.EXCLUIDOS 31/03/2005 14:48:31
#76026
Resposta escolhida
Teste esta SUB, Não se esqueça de acertar as MARGENS...

Private Sub Imprimir():
DoEvents
keybd_event VK_MENU, 0, 0, 0
DoEvents
keybd_event VK_SNAPSHOT, 1, 0, 0
DoEvents
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
DoEvents
HiddenPict.Picture = Clipboard.GetData(vbCFBitmap)
Printer.Orientation = vbPRORLandscape
If NormalOption.Value Then
wid = Printer.ScaleX(HiddenPict.ScaleWidth, ScaleMode, Printer.ScaleMode)
hgt = Printer.ScaleY(HiddenPict.ScaleHeight, ScaleMode, Printer.ScaleMode)
xmin = (Printer.ScaleWidth - wid) / 2
ymin = (Printer.ScaleHeight - hgt) / 2
Else
aspect = HiddenPict.ScaleHeight / _
HiddenPict.ScaleWidth
wid = Printer.ScaleWidth
hgt = Printer.ScaleHeight
If hgt / wid aspect Then
hgt = aspect * wid
xmin = Printer.ScaleLeft
ymin = (Printer.ScaleHeight - hgt) / 2
Else
wid = hgt / aspect
xmin = (Printer.ScaleWidth - wid) / 2
ymin = Printer.ScaleTop
End If
End If
Printer.PaintPicture HiddenPict.Picture, xmin, ymin, wid, hgt
Printer.EndDoc
MousePointer = vbDefault
End Sub
USUARIO.EXCLUIDOS 01/04/2005 04:18:31
#76084
Obrigado Germanir, mas tá faltando qualquer coisa....pelo que me parece, tá usando APIs para tirar um snapshot do form, mas como as declaro??
Dá erro de variaveis não declaradas!!!
USUARIO.EXCLUIDOS 02/04/2005 06:53:21
#76315
Barros, eu actualmente uso o printform, mas acontece que dessa forma não é possivel centrar a imagem na folha.
USUARIO.EXCLUIDOS 04/04/2005 19:42:24
#76641
Alguém pode ajudar?
Tópico encerrado , respostas não são mais permitidas