Muy bueno Fredy, nosotros hicimos algo parecido añadiendo 2 nuevos
métodos a la clase Browse, con lo que funcionan para todos los tipos de
browse, e incluso añadimos 2 pulsaciones sobre el browse para llamar a
estos métodos.
Class tBrowse From xBrowse
METHOD OnKeyDown( nKey, nFlags)
Method AdjustCols()
Method StretchCols()
EndClass
Method OnKeyDown(nKey, nFlags) Class tBrowse
Do Case
Case nKey=65 .And. lGetKeyState( VK_CONTROL ) //Teclas Ctrl+A
::AdjustCols()
Case nKey=83 .And. lGetKeyState( VK_CONTROL ) //Teclas Ctrl+S
::StretchCols()
End
RETURN Super:OnKeyDown( nKey, nFlags )
//Autoajustar anchura columnas a su contenido
Method AdjustCols( oSender ) Class tBrowse
aEval( ::aCols,{|aCol| aCol:AdjustWidth() })
Return Nil
//Autoajustar anchura columnas al form de forma proporcional
Method StretchCols( oSender ) Class tBrowse
Local nBrowseWidthPercent:=0
aEval(::aCols,{|aCol| nBrowseWidthPercent+=aCol:nWidth+3 })
nBrowseWidthPercent:=(::nWidth-nBrowseWidthPercent)/::nWidth
If Abs(nBrowseWidthPercent)>0.01
aEval(::aCols,{|aCol|
aCol:nWidth:=aCol:nWidth*(1/(1-nBrowseWidthPercent)) })
Endif
Return Nil
El 10/03/2011 12:42, Fredy escribió:
>
> Hola,
>
> He publicado en xailer.info un artículo que seguro que os gusta a más de
> uno

>
>
> 1 Saludico,
> Fredy
>
>