Hola.
Me he dado cuenta de un pequeño detalle, con los scrolls dimensionados con SetScrollInfo(), es que cuando movemos el scroll con el thumb para saber su posición máxima me sirve el nuevo oVSCroll:nMax (que es el antiguo nMax + nPgStep), pero cuando movemos el Scroll con los demás controles hay que utilizar el nuevo nMax-nPgStep, es decir el antiguo nMax. Por lo que he añadido el data nMaxPos implementándolo así:
- Code: Select all Expand view
METHOD Default() CLASS TScrollBar
LOCAL hWnd := IF( ::lIsChild, ::oWnd:hWnd, ::hWnd )
LOCAL nFlag := IF( ::lIsChild, IF( ::lVertical, SB_VERT, SB_HORZ ), SB_CTL )
*
IF ::lThumbResize
SetInfoScroll( hWnd , ::nMin, ::nMin, ::nMax, ::nPgStep, nFlag, .T. )
::nMaxPos := ::nMax-::nPgStep
ELSE
::nMaxPos := 0
ENDIF
RETURN NIL
Ahora, cuando controlemos la posición del scroll, si lo movemos con el thumb habrá que compararlo con nMin y nMax, pero cuando lo movemos con los demás controles habrá que compara su posición con nMin y nMaxPos.
Un saludo.
Peaaaaaso de foro...
FWH 2007 - xHarbour - BCC55