Estimados
Existe en xBrowse un parámetro que evite mover el puntero a la izquierda
al haber bloqueado con oBrw:=nFreeze:=3
En TsBrowse existe oBrw:lLockFreeze:=.T.
METHOD GoLeft( lOffset, lRefresh ) CLASS TXBrowse
::CancelEdit()
if ::nMarqueeStyle == MARQSTYLE_NOMARQUEE .or. ( ::nMarqueeStyle >= MARQSTYLE_HIGHLROW .and. ::bClrRowFocus == nil )
lOffset := .t.
endif
DEFAULT lOffset := .f.,;
lRefresh := .t.
if ::nFreeze > 0 .and. ::SelectedCol():nCreationOrder == ::nFreeze + 1 //<------
return nil
endif
DATA lLockFreeze AS LOGICAL INIT .t.
if ::lLockFreeze
::nColSel := ::nFreeze + 1
endif
::nColSel := 1
::nColSel := If( ::lLockFreeze, ::nFreeze, 0 ) + 1
if ::lFreezeLikeExcel .and. ::nFreeze > 0 .and. ::nColOffSet > 1 .and. ::nColSel == ::nFreeze + 1
lOffset := .t.
endif
if ( !lOffset .and. ::IsDisplayPosVisible( ::nColSel - 1 ) ) .or. ;
( ::nColOffset == 1 .and. ::nColSel > 1 )
::nColSel--
if lRefresh
if ::FullPaint()
::Super:Refresh( .t. )
else
::DrawLine( .t. )
endif
endif
elseif ::nColOffset > 1
if ( ::lLockFreeze .or. ::lFreezeLikeExcel ) .and. ::nFreeze > 0 .and. ::nColOffSet > 1 .and. ::nColSel == ::nFreeze + 1
lOffset := .t.
endif
if ( !lOffset .and. ::IsDisplayPosVisible( ::nColSel - 1 ) ) .or. ;
( ::nColOffset == 1 .and. ::nColSel > 1 )
if ::nColSel > If( ::lLockFreeze, ::nFreeze, 0 ) + 1
::nColSel--
if lRefresh
if ::FullPaint()
::Super:Refresh( .t. )
else
::DrawLine( .t. )
endif
endif
endif
elseif ::nColOffset > 1
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 37 guests