Page 1 of 1

oPrn:RoundBox() (SOLUCIONADO)

PostPosted: Fri Jun 29, 2012 12:32 am
by Bayron
Estoy intentando usar esta función:

Code: Select all  Expand view
oPrn:RoundBox( nLeftMargin , prow , nRightMargin ,  prow + 1000 , oPen, nRGB(220,220,220) )


Por su nombre y parámetros esperaba que me diera algo diferente:

Me tira una caja cuadrada, no redonda
Las coordenadas las tiene al reves, (diferente que oPrn:Box al menos)
No usa el PEN proporcionado
Acepta color, pero no lo tira por ningún lado...

Alguien podría explicarme que estoy haciendo mal, por favor....

Re: oPrn:RoundBox()

PostPosted: Fri Jun 29, 2012 2:57 pm
by Cgallegoa
Bayron:

Code: Select all  Expand view

CajaRound( 1.6 , 15.0 , 3.4, 20.0 ,oPrn,90,90,oPen1,nRGB(250,250,250))

Func CajaRound(nArriba, nIzq, nAbajo, nDerecha, oPrn, nAncho, nAlto, oPen, nColor )
Local xCor := {} , yCor := {}
// Pasamos coordenadas de cms a pixel
xCor := oPrn:Cmtr2Pix(nArriba,nIzq)
yCor := oPrn:Cmtr2Pix(nAbajo,nDerecha)
oPrn:RoundBox(xCor[2],xCor[1],yCor[2],yCor[1],nAncho,nAlto,oPen, nColor )
return NIL
 

Saludos,

Carlos Gallego

Re: oPrn:RoundBox()

PostPosted: Fri Jun 29, 2012 3:38 pm
by Bayron
Carlos,

a ti te muestra bien la caja???? Porque a mi, usando Fwh12.04 no...

Me la muestra cuadrada, sin usar le PEN que le indico y sin usar el color de fondo... Hoy voy a hecharle una miradita a la clase...

Re: oPrn:RoundBox()

PostPosted: Fri Jun 29, 2012 4:11 pm
by Cgallegoa
Byron,

Me pinta bien, tanto con FWH 12.04 como 12.05

Debes tener en cuenta que las medidas deben entrar en pixeles, pues nAncho y nAlto, que son las que definen la cantidad de redondeo de las esquinas, están en pixeles. En el caso del ejemplo, están a 90:

CajaRound(nArriba, nIzq, nAbajo, nDerecha, oPrn, nAncho, nAlto, oPen, nColor )
CajaRound( 1.6 , 15.0 , 3.4, 20.0 ,oPrn,90,90,oPen1,nRGB(250,250,250))

nArriba, nIzq, nAbajo y nDerecha, están en Centímetros, por lo que se convierten a pixeles.

xCor := oPrn:Cmtr2Pix(nArriba,nIzq)
yCor := oPrn:Cmtr2Pix(nAbajo,nDerecha)
oPrn:RoundBox(xCor[2],xCor[1],yCor[2],yCor[1],nAncho,nAlto,oPen, nColor )

Saludos,

Carlos Gallego

Re: oPrn:RoundBox()

PostPosted: Fri Jun 29, 2012 4:26 pm
by Cgallegoa
Bayron,

Usando la clase TPrinter con Preview has logrado que éste te abra ampliado ?. Por default lo abre reducido y no se distinguen los informes, y esto les molesta a los clientes pues no quieren tener que estar dando click para aumentar resolución.

He probado cuanta opción se me ha ocurrido, metiéndole la mano a TPrinter.prg, RPreview.prg y TMetafil.prg pero no consigo que funcione. Siempre abre con la vista reducida.

Si pongo ::lZoom := .T. lo abre aumentado pero bantante borroso.

Has revisado algo al respecto ?

Durante años usé MPreview del amigo José Lanín, y funcionaba perfecto, hasta FWH 10.10, pero ha sido imposible pasarla a FWH 12.05, razón por la que toca usar la del 12.05.

Saludos,

Carlos Gallego

Re: oPrn:RoundBox()

PostPosted: Fri Jun 29, 2012 6:37 pm
by Bayron
Gracias Carlos, pero mi problema no son las coordenadas... yo las calculo de acuerdo a la resolución de la impresora, el problema es que no me toma en cuenta ni el brush, ni redondea las esquinas, ni pinta el fondo...

y no tengo ni idea por que...

Ya le hecharé una miradita al rpreview....

Re: oPrn:RoundBox()

PostPosted: Fri Jun 29, 2012 8:33 pm
by Bayron
Carlos, acabo de revisar un poco de rPreview y tmetafil.prg, el problema se da porque:

Seleccionando desde el menú el metodo ::Zoom(), funciona correctamente, pero al accionarlo inclusive despues de ::BuildWindow() en el método ::New() , solo la resolucion horizontal es calculada, pero no la vertical...
Esto supongo sería algo muy fácil para FiveTech de corregir, porque ellos conocen muy bien la clase, para mi seria un poco complicado...

Re: oPrn:RoundBox() (SOLUCIONADO)

PostPosted: Fri Jun 29, 2012 9:56 pm
by Bayron
uPSSSS, me faltaba
Code: Select all  Expand view
nAncho, nAlto,