Page 1 of 1

Listbox - desplazamiento vertical

PostPosted: Sun Apr 26, 2009 3:33 pm
by rolando
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

Re: Listbox - desplazamiento vertical

PostPosted: Mon Apr 27, 2009 4:15 pm
by rolando
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

Re: Listbox - desplazamiento vertical

PostPosted: Tue Apr 28, 2009 11:13 am
by rolando
¿?

Re: Listbox - desplazamiento vertical

PostPosted: Wed Apr 29, 2009 2:52 pm
by rolando
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

Re: Listbox - desplazamiento vertical

PostPosted: Wed Apr 29, 2009 3:16 pm
by carlos vargas
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

Re: Listbox - desplazamiento vertical

PostPosted: Wed Apr 29, 2009 5:44 pm
by rolando
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 :D

Re: Listbox - desplazamiento vertical

PostPosted: Wed Apr 29, 2009 9:46 pm
by carlos vargas
okis, lo miro y te comento luego...

Re: Listbox - desplazamiento vertical

PostPosted: Fri May 01, 2009 11:21 pm
by rolando
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 :D

Re: Listbox - desplazamiento vertical

PostPosted: Sat May 02, 2009 5:12 pm
by carlos vargas
ok, recien miro tu post con el link, dejame revisarlos y te comento :-)

Re: Listbox - desplazamiento vertical

PostPosted: Tue May 05, 2009 6:30 pm
by rolando
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: Select all  Expand view
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 :D