bChange no se evalua cuando se mueve el vscroll

Post Reply
Vladimir Zorrilla
Posts: 225
Joined: Tue Feb 28, 2006 4:25 pm
Location: PERU

bChange no se evalua cuando se mueve el vscroll

Post by Vladimir Zorrilla »

Analizando el codigo veo que solo lo hace en un caso es un bug o me parece

METHOD VScroll( nWParam, nLParam ) CLASS TXBrowse

local nScrHandle := nLParam
local nScrollCode := nLoWord( nWParam )
local nPos := nHiWord( nWParam )
local nRow, nBook

if GetFocus() != ::hWnd
SetFocus( ::hWnd )
endif

if nScrHandle == 0 .and. ::oVScroll != nil
do case
case nScrollCode == SB_LINEUP
::GoUp()

case nScrollCode == SB_LINEDOWN
::GoDown()

case nScrollCode == SB_PAGEUP
::PageUp()

case nScrollCode == SB_PAGEDOWN
::PageDown()

case nScrollCode == SB_TOP
::GoTop()

case nScrollCode == SB_BOTTOM
::GoBottom()

case nScrollCode == SB_THUMBPOSITION
if ::nLen < 1
return nil
endif
do case
case nPos == 1
::GoTop()
case nPos == ::oVScroll:GetRange()[ 2 ]
::GoBottom()
otherwise
::CancelEdit()
nRow := ::nRowSel
CursorWait()
//Eval( ::bSkip, ::VGetThumbPos( nPos ) - ::VGetPos() )
Eval( ::bKeyNo, ::VGetThumbPos( nPos ), Self )
CursorArrow()
nBook := Eval( ::bBookMark )
do while nRow > 0 .and. Eval( ::bSkip, -1 ) == -1
nRow--
enddo
::nRowSel := ::nRowSel - nRow
Eval( ::bBookMark, nBook )
if ::bChange != nil
Eval( ::bChange, Self, .t. )
endif
::VThumbPos( nPos )
::lRefreshOnlyData := .f.
::Super:Refresh( .f. )
endcase

otherwise
return nil
endcase
endif

return 0
ME INTERESA FW Y XHB POR SER OPEN SOURCE
User avatar
mmercado
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: bChange no se evalua cuando se mueve el vscroll

Post by mmercado »

Vladimir Zorrilla wrote:Analizando el codigo veo que solo lo hace en un caso es un bug o me parece
Hola Vladimir:

En los _, se ejecutan otros métodos donde se evalua bChange, par mí es correcto como está.

Un abrazo.

Manuel Mercado
Post Reply