
29/01/2007, 20:46
|
| | Fecha de Ingreso: enero-2007
Mensajes: 5
Antigüedad: 18 años, 3 meses Puntos: 0 | |
Como imprimir listview con datos justificados a la izquierda??? Hola a todos tengo un probema que me esta matando. Tengo un listview y un boton para imprimir el listview. Ahora lo que sucede es que en el listview tengo datos numericos y necesito que al imprimirse se justifiquen a la derecha.
en las propiedades de los columnheaders ya los Alinee a la derecha pero al imprimirlos no salen como deberia. Si alguien puede darme una mano le agradeceria mucho. Aca esta el codigo que uso para imprimir:
Public Sub Imprimir_ListView(ListView As ListView)
Dim LItem As ListItem
Dim i As Integer, AnchoCol As Single, Espacio As Integer, x As Integer
AnchoCol = 0
'Recorremos desde la primer columna hasta la última para almacenar el ancho total
For i = 1 To ListView.ColumnHeaders.Count
AnchoCol = AnchoCol + ListView.ColumnHeaders(i).Width
Next
Espacio = 0
'Encabezado de ejemplo
Printer.Print " Liquidacion de cheques " & " " & Format(Date, "dd/mm/yyyy")
Printer.Print
'Imprime una línea
Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
With ListView
'Acá se imprimen los encabezados del ListView
For i = 1 To .ColumnHeaders.Count
Espacio = Espacio + CInt(.ColumnHeaders(i).Width * Printer.ScaleWidth / AnchoCol)
Printer.Print ListView.ColumnHeaders(i).Text;
Printer.CurrentX = Espacio
Next
Printer.Print
'Imprime una línea
Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
'Imprime Línea en blanco
Printer.Print
'Este bucle recorre los items y subitems del ListView y los imprime
For i = 1 To .ListItems.Count
Espacio = 0
Set LItem = .ListItems(i)
Printer.Print LItem.Text;
'Recorremos las columnas
For x = 1 To .ColumnHeaders.Count - 1
Espacio = Espacio + CInt(.ColumnHeaders(x).Width * Printer.ScaleWidth / AnchoCol)
Printer.CurrentX = Espacio
Printer.Print LItem.SubItems(x);
Next
'Otro espacio en blanco
Printer.Print
Next
End With
Printer.Print
'Imprime la línea de final de impresión
Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
Printer.Print
'Texto del pie
Printer.Print " Fin de la impresión "
'Comenzamos la impresión
Printer.EndDoc
End Sub |