For variable width of the listbox i made the following changes in XBROWSE.
1. Adding this new data in CLASS TXBrwColumn
2. Change code in METHOD ShowBtnList( nKey ) CLASS TXBrwColumn
1. Adding this new data in CLASS TXBrwColumn
  DATA nLbxWidth INIT 0 //Width from Listbox2. Change code in METHOD ShowBtnList( nKey ) CLASS TXBrwColumn
Â
  nWidth  := max(::nWidth + 3,::nLbxWidth) //CHANGED BYTE-ONE 2014
  nCol   := if( ::nDisplayCol - 2 + nWidth > ::oBrw:BrwWidth() , ::nDisplayCol +  2 + ::nWidth - nWidth,::nDisplayCol - 2 ) //CHANGED BYTE-ONE 2014
  nHeight  := Len( ::aEditListTxt ) * ( FontHeight( ::oBrw, if(::oEditFont == NIL ,::oBrw:oFont,If( ValType( ::oEditFont ) == 'B', Eval( ::oEditFont ), ::oEditFont )) ) ) + 2 //CHANGED BYTE-ONE 2014