none
Como fazer um botão para imprimir? RRS feed

  • Pergunta

  • Olá pessoa!

    Estou fazendo um projeto em vb 8, gostaria de saber como faço para que quando o usuário clicar em um Button1 de para imprimir um picturebox mas com vários itens dentro dele como por exemplo Panels, Labels, NumericUpDown1 etc.. ou seria melhor fazer em vez da picture box um panel para imprimir?

    Por favor Ajudem!!!

    segunda-feira, 26 de novembro de 2012 12:01

Respostas

  • Para isso vc tem que usar o PrintDocument.

    Veja um exemplo aqui:

    http://mindstick.com/Articles/f8fd0f1d-d6a1-4581-bf24-f72deaeda85b/?PrintDocument%20PrintPreviewDi

    O exemplo acima imprime somente texto, mas graficos podem ser adicionados. Infelizmente eu tenho exemplos somente em C#, mas podem ser convertidos facilmente para VB, como este aqui:

    protected void btnPrint_Click(object sender, EventArgs e)
        {
            PrintDocument pd = new PrintDocument();
            pd.PrintPage += new PrintPageEventHandler(imprimeimagem);
            pd.Print();       
        }
    
    
        void imprimeimagem(object o, PrintPageEventArgs e)
        {
            System.Drawing.Image i = System.Drawing.Image.FromFile(@"c:\temp\foto.bmp");
            Point p = new Point(100, 100);
            e.Graphics.DrawImage(i, p);     
         }

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    segunda-feira, 26 de novembro de 2012 14:35
    Moderador
  • Traduzindo o que William John Adam Trindade escreveu em C# para VB

    Protected Sub btnPrint_Click(sender As Object, e As EventArgs)
    	Dim pd As New PrintDocument()
    	pd.PrintPage += New PrintPageEventHandler(imprimeimagem)
    	pd.Print()
    End Sub
    
    
    Private Sub imprimeimagem(o As Object, e As PrintPageEventArgs)
    	Dim i As System.Drawing.Image = System.Drawing.Image.FromFile("c:\temp\foto.bmp")
    	Dim p As New Point(100, 100)
    	e.Graphics.DrawImage(i, p)
    End Sub

    segunda-feira, 26 de novembro de 2012 23:36

Todas as Respostas

  • Para isso vc tem que usar o PrintDocument.

    Veja um exemplo aqui:

    http://mindstick.com/Articles/f8fd0f1d-d6a1-4581-bf24-f72deaeda85b/?PrintDocument%20PrintPreviewDi

    O exemplo acima imprime somente texto, mas graficos podem ser adicionados. Infelizmente eu tenho exemplos somente em C#, mas podem ser convertidos facilmente para VB, como este aqui:

    protected void btnPrint_Click(object sender, EventArgs e)
        {
            PrintDocument pd = new PrintDocument();
            pd.PrintPage += new PrintPageEventHandler(imprimeimagem);
            pd.Print();       
        }
    
    
        void imprimeimagem(object o, PrintPageEventArgs e)
        {
            System.Drawing.Image i = System.Drawing.Image.FromFile(@"c:\temp\foto.bmp");
            Point p = new Point(100, 100);
            e.Graphics.DrawImage(i, p);     
         }

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    segunda-feira, 26 de novembro de 2012 14:35
    Moderador
  • Traduzindo o que William John Adam Trindade escreveu em C# para VB

    Protected Sub btnPrint_Click(sender As Object, e As EventArgs)
    	Dim pd As New PrintDocument()
    	pd.PrintPage += New PrintPageEventHandler(imprimeimagem)
    	pd.Print()
    End Sub
    
    
    Private Sub imprimeimagem(o As Object, e As PrintPageEventArgs)
    	Dim i As System.Drawing.Image = System.Drawing.Image.FromFile("c:\temp\foto.bmp")
    	Dim p As New Point(100, 100)
    	e.Graphics.DrawImage(i, p)
    End Sub

    segunda-feira, 26 de novembro de 2012 23:36