FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Listbox - desplazamiento vertical
Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Listbox - desplazamiento vertical
Posted: Sun Apr 26, 2009 03:33 PM

Buen día,

Todos mis listbox's adolecen de una funcionalidad que, por ej., ví en el ourXbdu (que uso como visualizador de las DBF).

Es lo siguiente, al darle foco al listbox, si muevo el mouse wheel avanza o retrocede el listbox perfectamente, también lo hace si "clickeo" sobre las flechitas de la scrollbar, el problema se presenta cuando muevo el cursor de la scrollbar, el listbox no se va actualizando acorde a la posición que ese cursor ocupa, sólo se actualiza cuando dejo ese cursor. Esto lo hace usando la TWbrowse de HC, el TXBrowse y el browse nativo.

Como veo que esto no lo hace en el ourXdbu (que creo está programado con FWH), es que les consulto para ver que estoy haciendo mal o si se puede solucionar esto.

Gracias

Rolando :D

Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Re: Listbox - desplazamiento vertical
Posted: Mon Apr 27, 2009 04:15 PM

Pido disculpas por insistir pero,

¿A nadie le pasa o pasó esto?,

¿Es normal que funcione así?

¿Tiene solución?

... Solo sé, que no se nada (sobre todo de esta cuestión). Ayuda please.

Rolando :D

Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Re: Listbox - desplazamiento vertical
Posted: Tue Apr 28, 2009 11:13 AM

¿?

Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Re: Listbox - desplazamiento vertical
Posted: Wed Apr 29, 2009 02:52 PM

Buen día,

Ante la ausencia total de respuestas a mi consulta, debo asumir que esto no se puede lograr (al menos de manera fácil).

De todos modos, gracias a los que se interesaron,

Rolando :D

Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Listbox - desplazamiento vertical
Posted: Wed Apr 29, 2009 03:16 PM

Rolando, existen alguno problemas con el scrollbar horizontal. :-(
yo personalmente tengo uno que una vez que das foco al browse, mueves el thumb de la barra horizonta, si usas el wheel del mouse el browse desplaza de iz a derecha, cuando deberia ser un desplazamiento de filas no de columnas.

ahora, lo que entinedo de tu problema es que el desplazamiento del thumb no es por decirlo asi proporcional al numero de columnas?

si pones unas imagenes podriamos salir de duda sobre tu problema.

salu2

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Re: Listbox - desplazamiento vertical
Posted: Wed Apr 29, 2009 05:44 PM
Carlos,

No conozco otra forma de hacerlo así que subí un pequeño video a yousendit (es .EXE pero está zipeado para poder subirlo).

En él se puede ver que el listbox es actualizado cuando se gira el mouse wheel, cuando se presiona sobre las flechitas y en la guía del scrollbar.

Pero también se puede ver al final, lo que motiva mi consulta y es que cuando presiono sobre el cursor del scrollbar y lo muevo, el listbox no se actualiza hasta que no suelto el cursor.

Esto funciona bién en el ourXdbu que fuera programado con FWH y por eso quiero conocer la forma de hacerlo.

El enlace para bajar el video es https://www.yousendit.com/download/dVlxcmxjckloeVlLSkE9PQ

Gracias.

Rolando :-)
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Listbox - desplazamiento vertical
Posted: Wed Apr 29, 2009 09:46 PM

okis, lo miro y te comento luego...

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Re: Listbox - desplazamiento vertical
Posted: Fri May 01, 2009 11:21 PM
Buenas noches,

Por favor, necesito que alguien me diga si esto puede hacerse.

En el ourXbdu que aparenta estar hecho con FWH, si se puede. Aquí esta usando xBrowse y yo uso Twbrowse de HC pero probé con xBrowse y no puedo lograrlo.

Subí otro video (zipeado porque es un EXE) donde se puede ver que con ourXdbu se logra lo que necesito.

https://www.yousendit.com/download/dVlwR0lVNXZuSlIzZUE9PQ

Help me, please.

Rolando :-)
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Listbox - desplazamiento vertical
Posted: Sat May 02, 2009 05:12 PM

ok, recien miro tu post con el link, dejame revisarlos y te comento :-)

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Re: Listbox - desplazamiento vertical
Posted: Tue May 05, 2009 06:30 PM
Con la esperanza que Alguien con más conocimientos que yo me ayude, copio parte del código del Método VSCROLL de la clase TWBrowse de HC. Dentro de lo que limité con las fraes "ENTRE ACA" y "Y ACA", creo que habría que reformar para que al mover el cursor del listbox este se comportara moviendo el listbox a medida que se mueve ese cursor (tal cual como lo hace en el ourXdbu y puede verse en los videos que subí).

Code (fw): Select all Collapse
 case nScrollCode == SB_THUMBPOSITION
           if ( ::nLen := Eval( ::bLogicLen ) ) < 1
              return 0
           endif

           if nPos <= 1 // CeSoTech  /// == 0
              ::GoTop()

           elseif nPos == ::oVScroll:GetRange()[ 2 ]
              ::GoBottom()

           else

              ::lHitTop = .f.
              ::lHitBottom = .f.


 //---------------------------------------- Entre ACA -----------------------


                                         // CeSoTech //
              If ::bGoLogicPos != Nil // Si tiene soporte de ir a un nKeyNo

                 CursorWait()

                 Eval( ::bGoLogicPos, Int( nPos / 100 * ::nLen ) )

                 ::oVScroll:SetPos( _POSVSCROLL_ )

                 ::Refresh()
 **                ::nRowPos:= 1  // Para asegurarnos que vaya donde corresponde

                 CursorArrow()
                 if ::bChange != nil
                    Eval( ::bChange, Self )
                 endif
                 return 0

//---------------------------------------------- y ACA ----------------------------------------------------------------

                Else  // Lo por defecto de FW

                 CursorWait()
                 ::Skip( nPos - ::oVScroll:GetPos() )
                 CursorArrow()

              EndIf
           endif

           ::oVScroll:SetPos( nPos )

           nLen = Eval( ::bLogicLen )
           if nPos - ::oVScroll:nMin < nLines
              ::nRowPos = 1
           endif
           if ::oVScroll:nMax - nPos < Min( nLines, nLen )
              ::nRowPos = Min( nLines, nLen ) - ( ::oVScroll:nMax - nPos )
           endif
           ::Refresh()
           if ::bChange != nil
              Eval( ::bChange, Self )
           endif

      otherwise
           return nil
   endcase


Espro Alguien ayude con esto. Gracias.

Rolando :-)

Continue the discussion