Ir para conteúdo
Fórum Script Brasil

dianaemanuel

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que dianaemanuel postou

  1. dianaemanuel

    Imprimir form

    Boa tarde, Eu sou aspirante em vb, e estou a trabalhar com o vb 2010 beta2. Eu tenho uma dúvida relativamente á impressão de forms. Estou a desenvolver uma aplicação sobre contabilidade, e quero imprimir um form que contém um balanço, eu criei um botão imprimir e quando eu clico no botão ele imprime-me o form mas só imprimo aquilo que eu visualizo, e o form não pode ser todo visualizado no ecrã do pc, a minha dúvida é como faço para que eu consiga imprimir o form todo numa folha A4 mesmo aquilo que não está visivel. Nota: Se eu colocar o programa a correr num monitor maior já é possivel ver o form todo como também imprimi-lo todo, mas no ecrã que tou a trabalhar não. Vou colocar o código que estou a utilizar para imprimir o form: Vou colocar aqui o código que estou a usar para a impressão ‘Variáveis Private Declare Function BitBlt Lib "gdi32.dll" Alias "BitBlt" (ByVal _ hdcDest As IntPtr, ByVal nXDest As Integer, ByVal nYDest As _ Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal _ hdcSrc As IntPtr, ByVal nXSrc As Integer, ByVal nYSrc As Integer, _ ByVal dwRop As System.Int32) As Long Dim memoryImage As Bitmap ‘Código Botão Imprimir Private Sub btnImprimir_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImprimir.Click btnImprimir.Visible = False btnsair.Visible = False Dim result As DialogResult PrintDialogBalanço.ShowDialog() If result = Windows.Forms.DialogResult.OK Then PrintDocumentBalanço.Print() End If PrintDocumentBalanço.DefaultPageSettings.Landscape = True CaptureScreen() PrintDocumentBalanço.DocumentName = "Balanço" PrintDocumentBalanço.Print() btnImprimir.Visible = True btnsair.Visible = True End Sub ‘Código do PrintDocumento Private Sub PrintDocumentBalanço_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocumentBalanço.PrintPage e.Graphics.DrawImage(memoryImage, New Rectangle(0, 0, 900, 800), New Rectangle(0, 0, 1700, 1070), Drawing.GraphicsUnit.Pixel) End Sub ‘Código Capturar Form Private Sub CaptureScreen() Dim mygraphics As Graphics = Me.CreateGraphics() memoryImage = New Bitmap(Me.Width, Me.Height, mygraphics) Dim memoryGraphics As Graphics = Graphics.FromImage(memoryImage) Dim dc1 As IntPtr = mygraphics.GetHdc Dim dc2 As IntPtr = memoryGraphics.GetHdc BitBlt(dc2, 0, 0, Me.ClientRectangle.Width, Me.ClientRectangle.Height, dc1, 0, 0, 13369376) mygraphics.ReleaseHdc(dc1) memoryGraphics.ReleaseHdc(dc2) End Sub Eu estou a utilizar o printdocument, o printdialog e o printform, mas o printform eu não estou a utilizá-lo até ao momento. Eu queria mesmo muito conseguir fazer isto.
×
×
  • Criar Novo...