SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: ccortes en Viernes 5 de Septiembre de 2003, 17:17
-
Como le hago para Imprimir el contenido de un DataGrid sin crystal ni datareport, o sea por codigo :question:
-
Hola Carlos.
Puedes utilizar el objeto Printer.
Básicamente tendrás que controlar las propiedades CurrentX y CurrentY para indicar las coordenadas en las que imprimir, Font, Orientation, etc, etc... Para imprimir usa el método Print, para incluir imágenes PaintPicture y cuando tengas el listado completo: EndDoc para que comience la impresión.
Suerte.
-
Brroz gracias por responder. pero dejame decirte que no manejo bien el objeto printer, podrias enviarme o explicarme un ejemplo, te lo agradecere mucho
-
Fíjate en el ejemplo:
*****************************************
Private Sub Command1_Click()
Dim strTexto As String
Printer.PaperSize = vbPRPSA4
Printer.Orientation = vbPRORPortrait
Printer.Scale (0, 0)-(210, 297)
Printer.Line (10, 10)-(Printer.ScaleWidth - 10, Printer.ScaleHeight - 10), , B
Printer.Font.Name = "Courier"
Printer.Font.Size = 10
Printer.Font.Bold = True
Printer.Font.Underline = True
strTexto = "Título del informe"
Printer.CurrentX = Int(Printer.ScaleWidth / 2) - Int(Printer.TextWidth(strTexto) / 2)
Printer.CurrentY = 5
Printer.Print strTexto
Printer.Font.Size = 8
Printer.Font.Bold = False
Printer.Font.Underline = False
strTexto = Now
Printer.CurrentX = 10
Printer.CurrentY = 5
Printer.Print strTexto
strTexto = "Página 1"
Printer.CurrentX = Printer.ScaleWidth - Printer.TextWidth(strTexto) - 10
Printer.CurrentY = 5
Printer.Print strTexto
Printer.CurrentX = 15
Printer.CurrentY = 20
strTexto = "Una línea de texto"
Printer.Print strTexto
Printer.CurrentX = 15
strTexto = "Otra línea de texto"
Printer.Print strTexto
Printer.CurrentX = 15
Dim sngY As Single
sngY = Printer.CurrentY
strTexto = "Otra línea más"
Printer.Print strTexto
strTexto = "Otra texto en la misma línea y alineado a la derecha"
Printer.CurrentY = sngY
Printer.CurrentX = Printer.ScaleWidth - Printer.TextWidth(strTexto) - 10
Printer.Print strTexto
Printer.EndDoc
End Sub
*******************************************
Espero que te sirva.
Suerte.
-
Hola amigo. Te envío una pequeña rutina casera que adapté a mis necesidades para imprimir directamente. En el ejemplo encontrarás un procedimiento ligado al evento click de un botón y otro código que lo incluyo en un módulo .bas .
Deberás incorporar al form un control CommonDialog para seleccionar la impresora.
Espero que te sea útil.
Saludos
:beer:
-
GRACIAS A LOS DOS :good:
-
Te cuento que las grillas que trae el ComponentONE Studio , traen muchisimas mas propiedades que las grillas comunes y entre las propiedades que trae estan las de grabar y la de imprimir la misma.
Simplemente con 1 sola linea de codigo.
Grilla.PrintGrid
Fijate en Emule o en Kazaa que te podras bajar el Studio Completo que trae mas de 35 controles, imperdibles que te haran la tarea de programar una fiesta.
Suerte