Page 1 of 1

cambiar fuente en TXBrowse()

Posted: Sat Sep 01, 2007 7:22 pm
by edu_parada
Hola;

En el LISTBOX para cambiar la fuente hacía:

oBrowse:Selfont()
oBrowse:Refresh()


Pero no marcha en TXBrowse(), ¿por qué?. Muchas gracias.

Salu2

Posted: Sun Sep 02, 2007 7:41 am
by Mike Serra
Prueba asignandole el font asi:

obrowse:SetFont (no SelFont)

SALUDOS

Posted: Sun Sep 02, 2007 11:12 am
by edu_parada
Nada, sigue sin ir. He probado:

LOCAL oFont

DEFINE FONT oFont FROM USER

oBrowse:Setfont(oFont)
oBrowse:Refresh()


Y NO funciona. Muchas gracias.

Posted: Mon Sep 03, 2007 5:07 pm
by Antonio Linares
Local oFont

DEFINE FONT oFont NAME "Arial" SIZE 0, -8 BOLD

...

oCol := oBrw:AddCol()
oCol:bStrData := { || _FIELD->First}
oCol:cHeader := "First"
oCol:oDataFont := oFont

Posted: Mon Sep 03, 2007 5:34 pm
by edu_parada
Gracias, pero lo que quiero es que el usuario pueda cambiar la fuente durante la ejecución del programna

ayuda!!!

Posted: Tue Sep 04, 2007 6:32 pm
by edu_parada
Por favor, necesito que el usuario pueda cambiar la fuente durante la visualización del xbrowse!!.

Muchísimas gracias!!!!!!!!!!!!!!!!!!

Posted: Thu Sep 06, 2007 9:31 am
by Antonio Linares
Edu,

Añade este método a la Clase TXBrowse:

Code: Select all

METHOD SelFont() CLASS TXBrowse

   local oFont, n

   DEFINE FONT oFont FROM USER
   
   for n = 1 to Len( ::aCols )
      ::aCols[ n ]:oDataFont = oFont
   next
   
   ::Refresh()
   
return nil      
Para usarlo:
oXBrowse:SelFont()

Posted: Thu Sep 06, 2007 4:06 pm
by edu_parada
Muchas gracias, ahora sí funciona.

No obstante, he encontrado un error al seleccionar la fuente. Pulsa Cancelar y en vez de mantener la fuente original, la vuelve negrita.

Posted: Thu Sep 06, 2007 6:33 pm
by Antonio Linares
Edu,

Se soluciona con un pequeño cambio:

Code: Select all

METHOD SelFont() CLASS TXBrowse

   local oFont, n

   DEFINE FONT oFont FROM USER
   
   if oFont:cFaceName != "SYSTEM_FONT"
   
      for n = 1 to Len( ::aCols )
         ::aCols[ n ]:oDataFont = oFont
      next
   
      ::Refresh()
   endif   
   
return nil