Listbox - desplazamiento vertical

Listbox - desplazamiento vertical

Postby rolando » Sun Apr 26, 2009 3: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
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Listbox - desplazamiento vertical

Postby rolando » Mon Apr 27, 2009 4: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
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Listbox - desplazamiento vertical

Postby rolando » Tue Apr 28, 2009 11:13 am

¿?
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Listbox - desplazamiento vertical

Postby rolando » Wed Apr 29, 2009 2: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
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Listbox - desplazamiento vertical

Postby carlos vargas » Wed Apr 29, 2009 3: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)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Listbox - desplazamiento vertical

Postby rolando » Wed Apr 29, 2009 5: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 :D
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Listbox - desplazamiento vertical

Postby carlos vargas » Wed Apr 29, 2009 9:46 pm

okis, lo miro y te comento luego...
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Listbox - desplazamiento vertical

Postby rolando » 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 :D
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Listbox - desplazamiento vertical

Postby carlos vargas » Sat May 02, 2009 5:12 pm

ok, recien miro tu post con el link, dejame revisarlos y te comento :-)
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Listbox - desplazamiento vertical

Postby rolando » Tue May 05, 2009 6: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: 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
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 88 guests