como imprimir listview con impresora de tickets
Publicado por Kore (1 intervención) el 02/03/2009 07:08:19
Hola...
Tengo un programa de Punto de Venta que ya termine pero solo me falta imprimir
la venta en un ticket pero seleccionando la columna deseada a imprimir
espero alguien me pueda ayudar con mi problema
muchas gracias......
este es el codigo que utiliso para imprimir en un ticket, pero me imprime todas las
columnas y yo quiero seleccionar las columnas a imprimir.
'A esta función se le envía el control LV a imprimir
Public Sub Imprimir_ListView(ListView As ListView)
Dim intRespuesta As String
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 " Venta de Productos"
Printer.Print " Punto De Venta "
Printer.Print "-------------------------------------"
Printer.Print "Descripcion Cantidad Total"
Printer.Print "-------------------------------------"
'Imprime una línea
Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
With ListView
'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 item = .ListItems(i)
Printer.Print item.Text;
'Recorremos las columnas
For X = 1 To .ColumnHeaders.Count - 7 + 4
Espacio = Espacio + CInt(.ColumnHeaders(X).Width * Printer.ScaleWidth / AnchoCol)
Printer.CurrentX = Espacio
Printer.Print item.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 "--------------------------------------"
Printer.Print " Gracias por su visita "
'Comenzamos la impresión
Gracias.................
Tengo un programa de Punto de Venta que ya termine pero solo me falta imprimir
la venta en un ticket pero seleccionando la columna deseada a imprimir
espero alguien me pueda ayudar con mi problema
muchas gracias......
este es el codigo que utiliso para imprimir en un ticket, pero me imprime todas las
columnas y yo quiero seleccionar las columnas a imprimir.
'A esta función se le envía el control LV a imprimir
Public Sub Imprimir_ListView(ListView As ListView)
Dim intRespuesta As String
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 " Venta de Productos"
Printer.Print " Punto De Venta "
Printer.Print "-------------------------------------"
Printer.Print "Descripcion Cantidad Total"
Printer.Print "-------------------------------------"
'Imprime una línea
Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
With ListView
'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 item = .ListItems(i)
Printer.Print item.Text;
'Recorremos las columnas
For X = 1 To .ColumnHeaders.Count - 7 + 4
Espacio = Espacio + CInt(.ColumnHeaders(X).Width * Printer.ScaleWidth / AnchoCol)
Printer.CurrentX = Espacio
Printer.Print item.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 "--------------------------------------"
Printer.Print " Gracias por su visita "
'Comenzamos la impresión
Gracias.................
Valora esta pregunta


0