FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Scroll Box
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Scroll Box
Posted: Thu Sep 18, 2014 10:01 AM

Antolín,

Mis mas sinceras felicitaciones por tu trabajo.... eres un genio de la investigacíon API Win32.

Quizá para mi tendría mas utilidad que el resize del thumb, el poder definir el ancho del scroll o incluso poder ocultarlo (hide). Estas dos cosas serían muy utiles para programas touch donde el scrollbar queda muy pequeñito o se quisiera ocultar.

Gracias por tu donación.

Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Scroll Box
Posted: Fri Sep 19, 2014 06:28 PM
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 (fw): Select all Collapse
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
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Scroll Box
Posted: Fri Sep 19, 2014 08:00 PM

Gracias Antolin

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Scroll Box
Posted: Sat Sep 20, 2014 07:33 PM
hmpaquito, para esconder o no el Scroll puedes intentar con SIF_DISABLENOSCROLL en SetInfoScroll(), probando:
Code (fw): Select all Collapse
si.fMask  = SIF_ALL+ SIF_DISABLENOSCROLL

En cuanto a la anchura del Scroll, no sabría como hacerlo. Yo lo he solucionado NO definiendo mi control con estilo WS_VSCROLL, sino creando uno propio con @y,x SCROLL oVSCroll ..... SIZE nWidth,nHeight VERTICAL y así lo controlo yo. Lo quito y lo pongo cuando creo necesario. Lo quito destruyéndolo oVSCroll:End(); oVSCroll := NIL y lo repongo volviéndolo a definir. Va muy bien y le puedo dar el tamaño que mejor me va en cada circunstancia.

Saludos
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Scroll Box
Posted: Mon Sep 22, 2014 07:14 AM

Muchas gracias antolín

Continue the discussion