FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour bChange no se evalua cuando se mueve el vscroll
Posts: 225
Joined: Tue Feb 28, 2006 04:25 PM
bChange no se evalua cuando se mueve el vscroll
Posted: Wed Jul 23, 2008 09:20 PM

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
Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Re: bChange no se evalua cuando se mueve el vscroll
Posted: Thu Jul 24, 2008 05:20 AM
Vladimir Zorrilla wrote:Analizando el codigo veo que solo lo hace en un caso es un bug o me parece
Hola Vladimir:

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

Un abrazo.

Manuel Mercado
manuelmercado at prodigy dot net dot mx

Continue the discussion