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.
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.
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
Síguenos en: Facebook Sobre aulaClic Política de Cookies