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 RUN
- DATA lAdjustLastCol AS LOGICAL INIT .F.
BUSCAR EN/FIND IN METHOD LastDisplayPos( lComplete ) CLASS TXBrowse
- Code: Select all Expand view RUN
- if lComplete .and. nWidth >= nMaxwidth
EN LINEA AGREGAR DESPUES/ INLINE ADD AFER
- Code: Select all Expand view RUN
- .and. !::lAdjustLastCol
BUSCAR/FIND
- Code: Select all Expand view RUN
- return nPos
AGREGAR ANTES/ ADD BEFORE
- Code: Select all Expand view RUN
- 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 RUN
- #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