Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como imprimir listview con datos justificados a la izquierda???

Estas en el tema de Como imprimir listview con datos justificados a la izquierda??? en el foro de Visual Basic clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/01/2007, 20:46
 
Fecha de Ingreso: enero-2007
Mensajes: 5
Antigüedad: 17 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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:24.