Imprimir texto en pantalla con API
Me gustaria poder imprimir texto en un Form como con el control label, pero con una funcion. Saben si hay alguna API que lo haga. A diferencia de la funcion Print, quisiera una que imprima en un recuadro determinado, con limites.
Muchas gracias.
Muchas gracias.
Hola Gabriel:
El procedimiento que me mandas no imprime texto. Como lo harias para que imprima texto en un recuadro determinado.
El procedimiento que me mandas no imprime texto. Como lo harias para que imprima texto en un recuadro determinado.
Tendr铆as que jugar un poco con el print, por ejemplo:
Printer.FontName = "Times New Roman"
Printer.FontItalic = True
Printer.FontSize = 8
Printer.FontUnderline = False
'Aca viene lo que a vos te interesa en particular
Printer.CurrentY = 100
Printer.CurrentX = 5500
Printer.Print "hola"
ten茅 en cuenta que tanto Printer.CurrentY como Printer.CurrentX tienen que estar dentro del recuadro que creastes.
Te puse otras propiedades para que juegues con ellas, existen muchas m谩s con las que podes jugar, yo te recomiendo que te crees pu propio modulo de impresi贸n para que te facilite el trabajo solo llamando a funciones o procedimientos que te resuelvan el posicionamiento, el control de fin de hoja, la impresi贸n de imagenes o encabezados, etc.
Suerte.
Gabriel.
Printer.FontName = "Times New Roman"
Printer.FontItalic = True
Printer.FontSize = 8
Printer.FontUnderline = False
'Aca viene lo que a vos te interesa en particular
Printer.CurrentY = 100
Printer.CurrentX = 5500
Printer.Print "hola"
ten茅 en cuenta que tanto Printer.CurrentY como Printer.CurrentX tienen que estar dentro del recuadro que creastes.
Te puse otras propiedades para que juegues con ellas, existen muchas m谩s con las que podes jugar, yo te recomiendo que te crees pu propio modulo de impresi贸n para que te facilite el trabajo solo llamando a funciones o procedimientos que te resuelvan el posicionamiento, el control de fin de hoja, la impresi贸n de imagenes o encabezados, etc.
Suerte.
Gabriel.
No entiendo que queres hacer???
eso que te contestaron antes esta bueno, a parte con el label podes hacer de todo
expresate mejor para que te puedan ayudar
eso que te contestaron antes esta bueno, a parte con el label podes hacer de todo
expresate mejor para que te puedan ayudar
En una pantalla, tipo grid, tengo que imprimir texto en cada celda. Con Labels se necesita crear una matriz de objetos labels suficientes y es un poco engorroso.
En vez de objetos, mejor con alguna funcion que imprime y ya est脿.
Pero la funcion debe de ser bastante rapida, sino al hacer scroll queda muy mal. Mejor alguna funcion API o en C. Que opinan?
Gracias.
En vez de objetos, mejor con alguna funcion que imprime y ya est脿.
Pero la funcion debe de ser bastante rapida, sino al hacer scroll queda muy mal. Mejor alguna funcion API o en C. Que opinan?
Gracias.
yo tengo esto casero, si te sirve......
Llamado
Call PrintBox(26, 35, 175, 10, 3)
Public Sub PrintBox(intX1 As Integer, intY1 As Integer, intXLenght As Integer, intYLenght As Integer, intLineWidth As Integer, Optional FillColor)
Dim intX2 As Integer, intY2 As Integer
Dim intPreWidth As Integer
Dim lngFillColor As Long
Dim intFillStyle As Integer
If Not IsMissing(FillColor) Then
lngFillColor = Printer.FillColor
intFillStyle = Printer.FillStyle
Printer.FillColor = FillColor
Printer.FillStyle = vbFSSolid
End If
intX2 = intX1 + intXLenght
intY2 = intY1 + intYLenght
intPreWidth = Printer.DrawWidth
Printer.DrawWidth = intLineWidth
Printer.Line (intX1, intY1)-(intX2, intY2), , B
Printer.DrawWidth = intPreWidth
If Not IsMissing(FillColor) Then
Printer.FillColor = lngFillColor
Printer.FillStyle = intFillStyle
End If
End Sub
Llamado
Call PrintBox(26, 35, 175, 10, 3)
Public Sub PrintBox(intX1 As Integer, intY1 As Integer, intXLenght As Integer, intYLenght As Integer, intLineWidth As Integer, Optional FillColor)
Dim intX2 As Integer, intY2 As Integer
Dim intPreWidth As Integer
Dim lngFillColor As Long
Dim intFillStyle As Integer
If Not IsMissing(FillColor) Then
lngFillColor = Printer.FillColor
intFillStyle = Printer.FillStyle
Printer.FillColor = FillColor
Printer.FillStyle = vbFSSolid
End If
intX2 = intX1 + intXLenght
intY2 = intY1 + intYLenght
intPreWidth = Printer.DrawWidth
Printer.DrawWidth = intLineWidth
Printer.Line (intX1, intY1)-(intX2, intY2), , B
Printer.DrawWidth = intPreWidth
If Not IsMissing(FillColor) Then
Printer.FillColor = lngFillColor
Printer.FillStyle = intFillStyle
End If
End Sub
