Page 1 of 1

xBrowse - error en con los footer y font

Posted: Fri May 11, 2007 5:41 pm
by jcaro
Hola a todos:

Tengo un problema grave con los footer al usar la clase xbrowse.

1) Lo que sucede es que no reconoce un font de diferente tamaño al que esta definido para el browse.

Parte del codigo es el siguiente:

Code: Select all

DEFINE FONT  aFont[1]  NAME "Wingdings"        SIZE 0, -32 BOLD
DEFINE FONT  aFont[2]  NAME "Times New Roman"  SIZE 0, -16 BOLD

....

oBrw:lFooter	   := .T.
oBrw:nFooterLines         := 1
oBrw:aCols[1]:oFooterFont  	:= aFont[ 2 ] 
oBrw:aCols[9]:oFooterFont  	:= aFont[ 2 ] 
oBrw:aCols[1]:cFooter 	:= "TOTALES $"
oBrw:aCols[9]:cFooter 	:= Transform( nSuma , "@E $ 99,999,999,999" )
Como ven le asigno el font 2 , pero no lo reconoce.

Una imagen de lo que pasa es la siguiente:

http://img521.imageshack.us/my.php?image=footer2xl9.png

Antonio será un Bug ??

Lo raro, es que si funcionan los encabezados del xbrowse, con diferentes tipos de font, pero no los footer.

Ah, otro dato, estoy usando ventanas MDI, con los footer, no se si esl afectará ??


2) Otro problema es como se puede evitar el espacio en blanco que queda antes del footer, cuando lo que muestra el browse es de menor tamaño al largo de la ventana.

Pienso que una solución sería asignar un color parecido, al de las filas,
pero no se como. Alguien me puede decir como le asigno el color de fondo , a la parte no utilizada ??, sin perder los 2 colores que diferencias las filas del browse.


A la espera de alguna ayudita,
Saludos,

Posted: Fri May 11, 2007 10:22 pm
by Ramón Avendaño
Hola Juan:

Contestando a tus dos cuestiones:

(1) Sí, es un 'bug', se corrige fácilmente en la clase xBrowse cambiando la línea 3610 del METHOD PaintFooter() donde pone:

Code: Select all

oFont   :=  ::oHeaderFont
debe poner:

Code: Select all

oFont   :=  ::oFooterFont
(2) Como tú propones puedses asignar color de pintado general al xBrowse igual al de las filas de datos con el método heredado SetColor(), algo así:

Code: Select all

oBrw:SetColor( CLR_BLACK, nColorDeLasFilas )
y te recomiendo completar el pintado de las líneas verticales poniendo:

Code: Select all

oBrw: lColDividerComplete := .t.
También podrías hacer que se autoajustara el alto del xbrowse al necesario para no dejar el espacio que comentas mediante el uso de :: ReSize(), pero esto es un poco mas complicado y necesitaría de ver el código para darte una solución válida.

Un saludo,
Ramón Avendaño.

Posted: Sat May 12, 2007 12:17 am
by jcaro
Ramón, te agradezco MUCHISIMO tu AYUDA.

Estaba bien complicado, con ese error. Y no sabía como hacerlo,
muchas gracias de nuevo.

Las otras sugerencias, las voy a aaplicar tambien :wink: .

Saludos,