Page 1 of 1
font xBrowse desde recurso
Posted: Tue Jul 02, 2013 4:46 pm
by Biel EA6DD
Al crear un dialogo desde recursos, por defecto se usa el fuente definido en el dialogo al diseñarlo en el editor de recuros (normal).
Si dicho dialogo incorpora un xBrowse, al crearse el xbrowse hace que se cambie el font de todos los controles del dialogo por otro distinto al definido en el diálogo.
Por lo que veo, esto es debido que en el momento de crear el xBrowse, el dialogo todavia no esta incializado y no tiene font definido.
En el método new de xBrose se ejecuta el siguiente código
Code: Select all | Expand
if oWnd:oFont == nil
oWnd:GetFont()
endif
::oFont := oWnd:oFont
que hace que varie el font de todo el dialogo.
Se os ocurre alguna alternativa sin necesidad de añadir un oDlg:SetFont, ni cambiar xBrowse.
Re: font xBrowse desde recurso
Posted: Fri Aug 23, 2013 7:50 am
by Biel EA6DD
+1
Re: font xBrowse desde recurso
Posted: Fri Aug 23, 2013 7:59 am
by cnavarro
Hola
Creas el XBrowse entre el DEFINE DIALOG y el ACTIVATE o en el ON INIT del ACTIVATE?
Re: font xBrowse desde recurso
Posted: Fri Aug 23, 2013 9:52 am
by Biel EA6DD
cnavarro wrote:Hola
Creas el XBrowse entre el DEFINE DIALOG y el ACTIVATE o en el ON INIT del ACTIVATE?
Hola Cristobal,
Si creo el xBrowse entre DEFINE y ACTIVATE, como el resto de controles.
Code: Select all | Expand
DEFINE DIALOG oDlg RESOURCE "TPV"
...
REDEFINE SAY PROMPT DToC(Date()) ID 403 OF oDlg
...
oBrw := txBrowse():New( oDlg )
WITH OBJECT oBrw
:cAlias:='det'
...
:SetRdd()
:CreateFromResource(301)
END
ACTIVATE DIALOG oDlg CENTERED ON INIT ( IniBtn( ) ) VALID (Salir())
Re: font xBrowse desde recurso
Posted: Fri Aug 23, 2013 2:34 pm
by albeiroval
Biel,
Yo lo hago asi :
Code: Select all | Expand
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12
DEFINE DIALOG oDlg RESOURCE "Calendario" TITLE cTitulo ICON oApp:aRes[ ICON_FINGER ] FONT oFont
REDEFINE SAY ....... OF oDlg
REDEFINE GET ..... OF oDlg
REDEFINE XBROWSE ..... OF oDlg
REDEFINE BTNBMP .... OF oDlg
ACTIVATE DIALOG oDlg ..
Como vez cuando le asigno el font al dialogo al crearlo me hereda el mismo font para todos los demas controles que
pertenescan a el dialogo.
Espero te sirva.
Saludos,
Albeiro,
Re: font xBrowse desde recurso
Posted: Fri Aug 23, 2013 4:07 pm
by Biel EA6DD
Cierto, si especificas el font en el momento de definir el dialogo, funciona correctamente, al igual que si ejecutas oDlg:SetFont(). Debido a que oDlg:oFont ya no es nulo, y xBrowse no tiene neceisdad de ejecutar GetFont().
El tema es que yo no defino el font en el prg, simplemente espero que se utilice el que está definido en el fichero de recursos.
Entiendo que la función DialogBox()( que se ejeucta al realizase el activate del dialogo), lee el recurso y recupera el font definido en él, siempre que oFont sea NIL, y eso deja de ser cierto si antes hemos creado un xBrowse, puesto que ha necistado del font, y al ejecutar GetFont asigna el font al dialogo.
O algo así, realemente el que sabe exactamente lo que hace es Antonio.
Puedo sobrevivir con ese comportamiento, solo era por si habia alguna forma sin definir el font, para que todos los objetos contenidos en el dialogo usasen el font especificado en el editor de recursos.
Re: font xBrowse desde recurso
Posted: Fri Aug 23, 2013 4:44 pm
by albeiroval
Biel,
Tienes razon, no lo habia probado definiendo el font desde recursos, Ya es un tema para Antonio o el Sr. Rao.
Saludos,