This adaptation was suggest by William Morales
Se trata de ajustas la ultima columna del browse al ancho restante disponible, para que no quede ningun espacio vacio....
Adjust Last Column browse of the remaining available width, so that no empty space ....
les dejo un ejemplo a descargar, si desean probar...
Let a sample for test..
http://www.sitasoft.com/fivewin/test/xbcoladj.rar
Archivo a Modificar / File to Change
XBROWSE.PRG
Metodo a modificar /METHOD To Change
LastDisplayPos( )
ABRIR/OPEN XBROWSE.PRG
AGREGAR NUEVA DATA en TXBrowse / ADD NEW DATA in TXBrowse
- Code: Select all Expand view
- DATA lAdjustLastCol AS LOGICAL INIT .F.
BUSCAR EN/FIND IN METHOD LastDisplayPos( lComplete ) CLASS TXBrowse
- Code: Select all Expand view
- if lComplete .and. nWidth >= nMaxwidth
EN LINEA AGREGAR DESPUES/ INLINE ADD AFER
- Code: Select all Expand view
- .and. !::lAdjustLastCol
BUSCAR/FIND
- Code: Select all Expand view
- return nPos
AGREGAR ANTES/ ADD BEFORE
- Code: Select all Expand view
- if ::lAdjustLastCol .and. nPos = nLen
if nWidth < nMaxwidth
::ColAtPos( nPos ):nWidth += ( nMaxWidth - nWidth - COL_SEPARATOR )
elseif nWidth > nMaxwidth
::ColAtPos( nPos ):nWidth -= ( nWidth - nMaxWidth + COL_SEPARATOR )
endif
endif
- Code: Select all Expand view
- #include "FiveWin.ch"
#include "xbrowse.ch"
function main()
local oWnd1
local oBrw
local aArray1 := {}
local nI
for nI = 1 to 20
aadd( aArray1, { .f.,SPACE(20),;
"Row:"+StrZero(nI,2)+" Col:02",;
"Row:"+StrZero(nI,2)+" Col:03",;
"Row:"+StrZero(nI,2)+" Col:03",;
"Row:"+StrZero(nI,2)+" Col:03",;
"Row:"+StrZero(nI,2)+" Col:03",;
"Row:"+StrZero(nI,2)+" Col:03",;
"Row:"+StrZero(nI,2)+" Col:03" } )
next
DEFINE window oWnd1 Title "Test Adjust Last Column xBrowse"
oBrw:= txbrowse():new( oWnd1 )
oBrw:nRowHeight := 40
oBrw:nColDividerStyle := LINESTYLE_BLACK
oBrw:nRowDividerStyle := LINESTYLE_BLACK
oBrw:SetArray( aArray1 )
oBrw:nMarqueeStyle := 6
oBrw:CreateFromCode()
oBrw:bClrStd := {|| { CLR_BLACK,RGB( 193,221,255 ) } }
oBrw:lRecordSelector := .f.
oBrw:lAdjustLastCol := .t.
oWnd1:oClient = oBrw
ACTIVATE window oWnd1
return nil