PRINTER DE NOVO....

USUARIO.EXCLUIDOS 06/09/2007 14:31:23
#234517
Olá gente,

TÃÂ' tendo dificuldade para usar o objeto printer... Eu estava querendo imprimir um picture2 onde há varios objetos... porém a imagem fica muito ruim por ser bitmap...E o metodo printform não adianta tb... então pensei em jogar os dados direto para impressora... o unico problema é q eu não faço a minima ideia de como jogar direto para impressora mais de um dado...

Como seria para eu inserir 3 dados ? Por exemplo: Text3.Text Text1.Text e Text2.Text:

como ficaria para eu imprimir um embaixo do outro centralizado?

Muito Obrigado!

USUARIO.EXCLUIDOS 06/09/2007 14:56:39
#234527
Da uma olhada nestas dicas:

http://www.macoratti.net/printer.htm

Valeu!
USUARIO.EXCLUIDOS 06/09/2007 14:59:34
#234528
Yuki vc pode usar o printer.PaintPicture e imprimir apenas a picture sem o form vc pode utilizar a FUncao abaico e através dela pode até derimensionar a imagem.

Public Sub PrintImagem(p As IPictureDisp, Optional ByVal x, Optional ByVal y, Optional ByVal resize)
If IsMissing(x) Then x = Printer.CurrentX
If IsMissing(y) Then y = Printer.CurrentY
If IsMissing(resize) Then resize = 1
Printer.PaintPicture p, x, y, p.Width * resize, p.Height * resize
End Sub


Para chamra a função utilize:

'Print the image loaded in Picture1 (tamanho real)
PrintImagem Picture1.Picture
'Print the image loaded in Picture1 (metade do tamanho)
PrintImagem Picture1.Picture, , , 0.5
'Print the image loaded in Picture1 (o dobro do tamanho)
PrintImagem Picture1.Picture, , , 0.5
USUARIO.EXCLUIDOS 06/09/2007 15:03:51
#234530
O problema é q eu não quero apenas imprimir a propriedade picture do objeto... e sim os objetos q estão contidos dentro dele...

como 10 textbox, 10 labels...
USUARIO.EXCLUIDOS 06/09/2007 15:13:21
#234532
Entao...

Printer.Print lblNome.Caption
Printer.Print txtNome.Text
Printer.EndDoc

Basicamente isto.
USUARIO.EXCLUIDOS 06/09/2007 15:16:40
#234535
Vlws ... com certeza eu terei problemas com esse objeto ... então deixarei o tópico aberto...

caso não houver mais duvidas num periodo de 2 dias eu encerrarei o tópico...

Obrigado a todos
USUARIO.EXCLUIDOS 06/09/2007 15:57:17
#234547
Pow não pensei q voltaria tão rapido xD

Eu sei q tem q usar CurrentX e CurrentY para centralizar... mas nesse caso não estou conseguindo...
Eu queria centralizar as informações em uma folha A4... olah como eu fiz até agora:

Private Sub cmdImprimir_Click()
Dim Mensagem As String

Mensagem = MsgBox("Tem certeza que deseja imprimir o registro atual?", vbYesNo, "Aviso")
If Mensagem = vbYes Then
Printer.FontName = "Arial"
Printer.FontSize = 14
Printer.FontBold = True
Printer.ForeColor = QBColor(0)
Printer.Orientation = vbPRORPortrait
Printer.PaperSize = vbPRPSA4
Printer.PrintQuality = vbPRPQMedium

Printer.Print Label1.Caption; Spc(10); txtProduto.Text
Printer.Print
Printer.Print Label2.Caption; Spc(10); txtPassada1.Text
Printer.Print
Printer.Print Label3.Caption; Spc(10); txtFormula1.Text
Printer.Print
Printer.Print Label4.Caption; Spc(10); txtPorcentagem1.Text
Printer.Print
Printer.Print Label5.Caption; Spc(10); txtPassada2.Text
Printer.Print
Printer.Print Label6.Caption; Spc(10); txtFormula2.Text
Printer.Print
Printer.Print Label7.Caption; Spc(10); txtPorcentagem2.Text
Printer.Print
Printer.Print Label8.Caption; Spc(10); txtPassada3.Text
Printer.Print
Printer.Print Label9.Caption; Spc(10); txtFormula3.Text
Printer.Print
Printer.Print Label10.Caption; Spc(10); txtPorcentagem3.Text
Printer.Print
Printer.Print Label11.Caption; Spc(10); txtPassada4.Text
Printer.Print
Printer.Print Label12.Caption; Spc(10); txtFormula4.Text
Printer.Print
Printer.Print Label13.Caption; Spc(10); txtPorcentagem4.Text

End If
End Sub

MJAC 06/09/2007 16:54:32
#234569
Resposta escolhida
Amigo tem um tempinho que criei esse módulo que estou te passando em anexo, eu utilizo ele até hoje em meus sistemas, aproveitei e criei um exemplo de utilização do módulo com pré-visualização em uma picturebox e com a opção de sempre imprimir em uma determinada impressora mesmo que não seja a impressora padrão do sistema operacional. Abraços
Tópico encerrado , respostas não são mais permitidas