Hola Juan:
Aunque te han respondido y seguro que sera mejor idea que la mia, te la digo igual.
yo utilizo estas funciones haciendo caso a Mr. Rao.
Code: Select all
FUNCTION ReadWinData(oBrw, cAlias )
LOCAL oIni
INI oIni File cDirectApp + "\TUFICHERO.INI"
oBrw:RestoreState( oIni:Get( cAlias, "browse", "" ) )
RETURN NIL
// ------------------------------------------------------------------------ //
FUNCTION SaveWinData(oBrw,cAlias )
LOCAL oIni
INI oIni File cDirectApp + "\TUFICHERO.INI"
oIni:Set( cAlias, "browse", oBrw:SaveState() )
RETURN NIL
y luego en el ACTIVATE WINDOWS
Code: Select all
ACTIVATE WINDOW OWndObr VALID (SaveWinData(oBrw,cAlias), .T.) ;
ON INIT ReadWinData(oBrw,cAlias)
Con esto si tu cambias el tamaño de las columnas del XBROWSE se graban y se restauran automaticamente
cuando vuelves a activar la ventana,
lo que se graba el fichero TUFICHERO.INI es
browse=XS1:{{"_nCreationOrders",{1,2,3,4}},{"_nRowHeight",21},{"_nWidths",{81.30,149.05,321.65,365.85}},{"_lHides",{.F.,.F.,.F.,.F.}},{"_cGrpHdrs",{,,,}},{"_cHeaders",{"CODIGO","C.I.F.","NOMBRE","DIRECCION"}}}
Ahora seria meter esa linea de texto en un array y acceder a sus elementos. No se si Mr. Rao tiene algo previsto , se se claramente que es el _nWidths o sea {81.30,149.05,321.65,365.85}
seria interesante que nos dijera su opinion.
Saludos
Jose.