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