Unidad 54. Impresión (V)





Estas líneas se obtienen con el siguiente procedimiento.

 

Private Sub LineaDetalle(ByVal Reg As DataRow, _

                         ByVal e As System.Drawing.Printing.PrintPageEventArgs, _

                         ByRef Cy As Single)

 

 Dim Grafico As Graphics = Me.CreateGraphics

 Dim AnchoString As New SizeF

 Dim Fuente As Font

 Dim Pincel As New System.Drawing.SolidBrush(System.Drawing.Color.Black)

 Dim Fec As String

 

 Fec = Reg.Item("Fec").ToString

 Fec=Strings.Right(Fec,2) & "-" & Strings.Mid(Fec,5,2) & "-" & Strings.Left(Fec, 4)

 

 Fuente =  New Font("Arial", 12, FontStyle.Italic)

 

 With Reg

 e.Graphics.DrawString(.Item("Reserva").ToString,Fuente,Pincel,TextoCabecera(0).Cx, Cy)

 e.Graphics.DrawString(.Item("Denom").ToString,Fuente,Pincel,TextoCabecera(1).Cx, Cy)

 e.Graphics.DrawString(Fec, Fuente, Pincel, TextoCabecera(2).Cx, Cy)

 e.Graphics.DrawString(.Item("Hora").ToString,Fuente,Pincel, TextoCabecera(3).Cx, Cy)

 End With

End Select

 

Este es el código completo, queda por ver

 

 Public Sub FinImpresion(ByRef Cy As Long, _

                         ByVal e As System.Drawing.Printing.PrintPageEventArgs, _

                         ByVal Texto As String)

 

   Dim Alto As Long = e.PageSettings.PaperSize.Height

   Dim Ancho As Long = e.PageSettings.PaperSize.Width

   Dim Fuente As Font

   Dim Pincel As New System.Drawing.SolidBrush(System.Drawing.Color.Black)

   Dim Cx As Long

 

   Fuente =  New Font("Arial", 14, FontStyle.Italic)  

   Cy = CLng(Alto * 0.95)         ' Situación con respecto al alto de la página

   Cx = CLng(Ancho * 0.05)        ' Situación con respecto al ancho de la página

 

   e.Graphics.DrawString(Texto, Fuente, Pincel, Cx, Cy)

   Cy = Cy + Fuente.Height        ' Avance de línea

 End Sub

 

Y el de Inicio de listado, que puede ser igual o con los cambios que se necesiten.

 

Vistos todos los procedimientos por separado, necesitamos ver ahora como encaja todo esto ahora.

 

54.6. El conjunto.

Hemos visto anteriormente que el listado es

 

Inicialización                    BeginPrint

Parte cíclica del listado    PrintPage

Fin del proceso               EndPrint

 

Veamos ahora cada una de esas fases, con los procedimientos que hemos visto anteriormente.

 

1    Inicialización, BeginPrint.

En esta fase podemos colocar el siguiente código, dependerá todo evidentemente del tipo de programas que necesitemos enfocar.

 

 Private Sub Hoja_BeginPrint(ByVal sender As Object, _

                             ByVal e As System.Drawing.Printing.PrintEventArgs) _

     Handles Hoja.BeginPrint

 

    Select Case Opcion

      Case 1

        Hoja.DefaultPageSettings.Landscape = False

        ConfigCabeceraCodigo(TextoCabecera)

      Case 2

        Hoja.DefaultPageSettings.Landscape = False

        ConfigCabeceraSituacion(TextoCabecera)

      Case 3

        Hoja.DefaultPageSettings.Landscape = True

        ConfigCabeceraExcepcion(TextoCabecera)

      Case 4

        Hoja.DefaultPageSettings.Landscape = True

        ConfigCabeceraValora(TextoCabecera)

    End Select

  End Sub

 

O bien tan sencillo como esto.

 

Private Sub Hoja_BeginPrint(ByVal sender As Object, _

                            ByVal e As System.Drawing.Printing.PrintEventArgs) _

     Handles Hoja.BeginPrint

 

  Hoja.DefaultPageSettings.Landscape = False

  ConfigCabecera(TextoCabecera)

End Sub

 

Octubre-2010
Pág. 54.5

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies