Page 1 of 1

xbrowse state - conservar estado xbrowse

PostPosted: Wed Nov 08, 2023 8:17 pm
by leandro
Hola buenas tardes para todos...

existe una función que nos guarda el estado de una ventana, su tamaño su posición, la pantalla en la que se esta mostrando. Para que cuando se inicie de nuevo conserve las propiedades.
La usamos de la siguiente manera
Code: Select all  Expand view

ACTIVATE WINDOW oWnd ON INIT (oWnd:RestoreState( MemoRead( "wndstate.txt" ) )) ;
            VALID ( MemoWrit( "wndstate.txt", oWnd:SaveState() ), .t. )
 


Nos gustaría saber si para los xbrowse existe algo similar, que nos recupere el alto de las filas, los anchos de las columnas y si las columnas están ocultas.

De antemano gracias

Re: xbrowse state - conservar estado xbrowse

PostPosted: Wed Nov 08, 2023 10:35 pm
by FiveWiDi
leandro wrote:Hola buenas tardes para todos...

existe una función que nos guarda el estado de una ventana, su tamaño su posición, la pantalla en la que se esta mostrando. Para que cuando se inicie de nuevo conserve las propiedades.
La usamos de la siguiente manera
Code: Select all  Expand view

ACTIVATE WINDOW oWnd ON INIT (oWnd:RestoreState( MemoRead( "wndstate.txt" ) )) ;
            VALID ( MemoWrit( "wndstate.txt", oWnd:SaveState() ), .t. )
 


Nos gustaría saber si para los xbrowse existe algo similar, que nos recupere el alto de las filas, los anchos de las columnas y si las columnas están ocultas.

De antemano gracias


Hola Leandro,

Yo utilizo estas 2 funciones, una en el INIT de la WINDOW y la otra en el VALID de la WINDOW.
Code: Select all  Expand view
/* *********************************************************************************** */
FUNCTION lGuardaXBrowse( AMPAARRA, oXBrowse, cFile )

Local cStateXbrowse := oXBrowse:SaveState()
Local cFileSaved    := cPathDBF( AMPAARRA, .T. ) + "xBrw" + cFile + ".txt"
Local hcFileSaved   := 0
Local lRespuesta    := .F.

DELETEFILES( cFileSaved )

hcFileSaved := fcreate( cFileSaved, FC_NORMAL )

If Ferror() = 0
    lRespuesta := .T.

    fwrite( hcFileSaved, cStateXbrowse )

    fclose( hcFileSaved )
EndIf

Return lRespuesta
/* *********************************************************************************** */
/* *********************************************************************************** */
FUNCTION lRecuperaXBrowse( AMPAARRA, oXBrowse, cFile )

Local cStateXbrowse := ""
Local cFileSaved    := cPathDBF( AMPAARRA, .T. ) + "xBrw" + cFile + ".txt"
Local lRespuesta    := .F.

If File(cFileSaved)

    lRespuesta    := .T.

    cStateXbrowse := MemoRead( cFileSaved )

    oXBrowse:RestoreState( cStateXbrowse )

EndIf

Return lRespuesta
/* *********************************************************************************** */
 


Seguro que se pueden mejorar/adaptar a tus necesidades.

Re: xbrowse state - conservar estado xbrowse

PostPosted: Thu Nov 09, 2023 10:45 pm
by leandro
Amigo gracias por responder...

Ya mismo intento y cualquier cosa comento.