Page 1 of 1

Impresion con TPrinter

Posted: Thu Apr 24, 2008 8:21 am
by colthop
Hola a todos:

Me gustaria saber si utilizando la clase TPrinter y con oPrn:Say() si se puede imprimir con un fondo distinto, me esplico si en vez de escribir un dato en negro con fondo blanco se puede escribir en negro con fondo gris, para poder diferenciarlo.

Un saludo

Carlos

Posted: Thu Apr 24, 2008 9:13 am
by Manuel Aranda
Hola Carlos:

Lo puedes haces con un Brush. Así:

Code: Select all

#DEFINE VACIA    0
#DEFINE RELLENA  1
Local oBrush
Local oPrn
Local oPen
//
DEFINE PEN oPen  WIDTH 6
DEFINE BRUSH oBrush  COLOR 14671839  // gris claro
Caja(5.5,11.2,6.5,18.1,oPrn,VACIA,,oPen)
Caja(5.51,11.21,6.49,18.09,oPrn,RELLENA,oBrush)

**********************************************************************
 Func Caja(nArriba,nIzq,nAbajo,nDerecha,oPrn,nTipo,oBrush,oPen)
**********************************************************************
Local xCor := {} , yCor := {}

// Pasamos coordenadas de cms a pixel
xCor := oPrn:Cmtr2Pix(nArriba,nIzq)
yCor := oPrn:Cmtr2Pix(nAbajo,nDerecha)

DO CASE
   CASE nTipo == 0       // Caja Vacia
        oPrn:Box(xCor[1],xCor[2],yCor[1],yCor[2],oPen)
   CASE nTipo == 1       // Caja rellena
        oPrn:FillRect({xCor[1],xCor[2],yCor[1],yCor[2]},oBrush)
ENDCASE

return NIL
Saludos,
Manuel Aranda

Posted: Thu Apr 24, 2008 10:20 am
by colthop
Gracias Manuel:

Al leer tu contestación me has dado la solución, que no es otra que imprimir una linea gorda que ocupa la linea del reporte y asi hago el efecto que queria, que era el de hacer el papel pijama (la hoja a rallas) y hacer mas legible los resultados.

Un saludo

Gracias

Carlos