Page 1 of 1

Action mientras se mantiene presionado un boton

PostPosted: Wed Jan 20, 2016 4:14 am
by FranciscoA
Hola amigos, como dice el titulo.

Necesito saber si x boton se mantiene presionado, para ejecutar una accion mientras se mantenga presionado. (valga la redundancia).
Agradeceré algún ejemplo.

Saludos.

Re: Action mientras se mantiene presionado un boton

PostPosted: Wed Jan 20, 2016 8:13 am
by Antonio Linares
Puedes explicar ó poner un ejemplo acerca de lo que deseas hacer ?

Re: Action mientras se mantiene presionado un boton

PostPosted: Wed Jan 20, 2016 4:25 pm
by FranciscoA
Antonio, gracias por contestar.

Lo que quiero hacer es que se lance una accion contínua mientras el boton se mantenga presionado (como el GoDown() del xbrowse) y que el ACTION finalice al dejar de presionar el boton.

Algo asi:

While oBtn:lPressed
oBrw:GoDown()
Enddo

Es decir, desde el ACTION del oBtn quiero hacer exactamente lo que hace la tecla-abajo en un xbrowse, en el cual se va recorriendo sus registros hasta soltar la tecla.

Espero haber sabido explicarme.

Saludos, y gracias nuevamente.

Re: Action mientras se mantiene presionado un boton

PostPosted: Wed Jan 20, 2016 4:34 pm
by hmpaquito
Francisco,

Lo que quiero hacer es que se lance una accion contínua mientras el boton se mantenga presionado (como el GoDown() del xbrowse) y que el ACTION finalice al dejar de presionar el boton.

Algo asi:

While oBtn:lPressed
oBrw:GoDown()
Enddo

Es decir, desde el ACTION del oBtn quiero hacer exactamente lo que hace la tecla-abajo en un xbrowse, en el cual se va recorriendo sus registros hasta soltar la tecla.


Suena a desarrollo touch :wink:

En el pasado me hubiera gustado tener eso mismo...
El problema es que el action se lanza al finalizar un click ( down + up).
Seria necesario un action en el momento del ::Down(). Pero ahora viene el problema ¿ pero como lanzar un evento ::Down() si el boton despues de pulsarlo no ha sido nuevamente pulsado ?

Una idea que se me ocurrio entonces, y que no puse en practica, no se por que, fue establecer un timer en el metodo ::Down(). El timer estaria llamando a la action hasta que al ser llamado el metodo ::Up(), porque se solto el boton, se apague el timer.
Esta es una de esas cosas en el desarrollo touch que no pude con ella o no supe encararla correctamente. Quizá Antonio o Mr. Rao si lo puedan abarcar.



Saludos

Re: Action mientras se mantiene presionado un boton

PostPosted: Wed Jan 20, 2016 4:57 pm
by FranciscoA
hmpaquito.

Efectivamente, estoy desarrollando un comandero touch.

Una idea que se me ocurrio entonces, y que no puse en practica, no se por que, fue establecer un timer en el metodo ::Down(). El timer estaria llamando a la action hasta que al ser llamado el metodo ::Up(), porque se solto el boton, se apague el timer.
Esta es una de esas cosas en el desarrollo touch que no pude con ella o no supe encararla correctamente. Quizá Antonio o Mr. Rao si lo puedan abarcar.


Voy a hacer pruebas con lo que mencionas. Me parece factible.
Gracias.

Saludos.

Re: Action mientras se mantiene presionado un boton

PostPosted: Wed Jan 20, 2016 6:18 pm
by cnavarro
No sería parecido a un drag&drop ?

------------------------- Edito ---------------------------

O a la accion de mover un control en una edicion, ahí estamos controlando también si el control está pulsado

Re: Action mientras se mantiene presionado un boton

PostPosted: Wed Jan 20, 2016 7:01 pm
by FranciscoA
Gracias, Cristóbal.
También voy a revisar esa opción.
Saludos.

Re: Action mientras se mantiene presionado un boton

PostPosted: Wed Jan 20, 2016 7:11 pm
by hmpaquito
Me acabo de acordar que en aquel entonces intenté también que la llamada al action fuera mas continua cuanto mas tiempo llevara pulsado el boton. Intente simular el comportamiento Android en sus listas.
Todo fue un fracaso: volví, después de muchas horas, al sistema un click una fila up/down. Lamentable.

Lo más seguro es que se pueda hacer con fwh... pero me quedó una idea... "no se puede... no se puede... al menos con los eventos que ahora mismo recoge fwh".

Re: Action mientras se mantiene presionado un boton

PostPosted: Wed Jan 20, 2016 7:51 pm
by cnavarro
hmpaquito wrote:Me acabo de acordar que en aquel entonces intenté también que la llamada al action fuera mas continua cuanto mas tiempo llevara pulsado el boton. Intente simular el comportamiento Android en sus listas.
Todo fue un fracaso: volví, después de muchas horas, al sistema un click una fila up/down. Lamentable.

Lo más seguro es que se pueda hacer con fwh... pero me quedó una idea... "no se puede... no se puede... al menos con los eventos que ahora mismo recoge fwh".


Mira esto
viewtopic.php?f=16&t=31751&sid=a034192f3d0b9aa3efb08a583949d01a#p185339

Re: Action mientras se mantiene presionado un boton

PostPosted: Wed Jan 20, 2016 8:20 pm
by hmpaquito
Es cierto Cristóbal, habría que ver si con las mejoras táctiles de fwh se podría hacer.
Yo por mi parte, desgraciadamente, tengo el focus del trabajo en otras tareas.

Re: Action mientras se mantiene presionado un boton

PostPosted: Thu Jan 21, 2016 10:44 pm
by Antonio Linares
Yo creo que usar un timer sería una posible solución

Re: Action mientras se mantiene presionado un boton

PostPosted: Thu Jan 21, 2016 10:54 pm
by RenOmaS
Una idea sería colocar una data lPressed en la TButton
y que se activa con el metodo LButtonDown y se desactava com el metodo LButtonUp,
con esto el programador controlaría si el button esta presionado en el bAction con un bucle.