Página 1 de 1

líneas de un arraybrowse en negrita

Publicado: Sab Feb 18, 2006 11:38 am
por Fredy

Hola,
Tengo un arraybrowse en el que hay una serie de lí­neas que actúan como tí­tulos y va toda la lí­nea en negrita.
Para ello tengo en el evento ArrayBrowse1DrawRow algo así­
oSender:oFont:lBold := ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,6]
(el elemento 6 del array es .t. o .f. dependiendo que se tenga que poner o no la lí­nea en negrita)
Funciona, pero como el DrawRow se lanza antes de pintar la lí­nea, si estoy encima de un titular (en negrita), el lBold se queda activo para todos los controles que se pintan a partir de ese momento. Según voy pasando el ratón por el resto de controles, estos se ponen en negrita o no dependiendo de que me encuentre en el browse en una lí­nea de tí­tulo.
Además, las columnas de todos los browses que tenga se cambian permanentemente a negrita.
El ArrayBrowse tiene lParentFont a .f.
¿Hay algún evento "despues" de pintar la lí­nea para decirle que lbold:=.f.?
¿al tener lParenFont a .f. por qué me cambia los atributos de la fuente principal del fomulario?
Un saludico,
Fredy
--

Attached files

líneas de un arraybrowse en negrita

Publicado: Sab Feb 18, 2006 2:15 pm
por Francisco Sanchez
prueba con el ondrawcell.
Un saludo

líneas de un arraybrowse en negrita

Publicado: Sab Feb 18, 2006 3:05 pm
por Fredy
Hola,
Lo que he hecho ha sido poner ofont:lbold := .f. en el OnDrawCell de la última
columna, pero aún así­ los headers me siguen saliendo en negrita.
Me he fijado que lPatentfont := .f. sólo funciona cuando el tipo de letra
seleccionado para el browse es distindo del tipo de letra asignado en el
formulario. Es decir, funciona siempre que la letra no sea ms sans serif 8.
Un saludico,
Fredy

líneas de un arraybrowse en negrita

Publicado: Sab Feb 18, 2006 7:09 pm
por jfgimenez
Fredy,
parece que el problema es que se está destruyendo la fuente del formulario,
y entonces se usa la fuente "System". Y todos aquellos controles con
lParentFont = .T. están saliendo con esa misma fuente.
Si estás poniendo lParentFont a .F. desde el IDE, es muy posible que al no
cambiar la fuente el mismo IDE lo esté poniendo de nuevo a .T.. Lo mejor es
que crees la fuente negrita en el OnInitialize o en algún otro sitio
similar, asignándola a una DATA, y la asignes cuando lo necesites. Por
supuesto, al destruir el formulario deberás también destruir la fuente. De
esta forma, al no ser exactamente igual, cuando se la asignes al browse, la
propiedad lParentFont cambiará a .F. automáticamente.
En cualquier caso, si te lias, envíame el formulario y lo reviso.
--
Un saludo,
José F. Giménez

líneas de un arraybrowse en negrita

Publicado: Sab Feb 18, 2006 9:08 pm
por Fredy
Fenomenal!
Va perfecto
Gracias
Un saludico,
Fredy