Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Control Listbox Con Scroll Por Touch?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Control Listbox Con Scroll Por Touch? 
 
Hola

Ando con mis primeros pasos con gambas y antes de liarme pregunto a los expertos, ¿hay algún control que me permita usar una representación tipo lista y que haga scroll no solo pinchando en la barra sino pulsando en cualquier zona? Digamos que sería un scroll como el de cualquier teléfono móvil cuando te muestra la lista de llamadas, para entendernos, ya que lo voy a usar con un panel táctil.

En VB tuve que hacérmelo a mano porque no existía, pero teniendo en cuanta que gambas es mucho más moderno me extraña que no exista ya ese control o que no se pueda configurar uno de los de serie para que se comporte así, pero llevo un rato liado y no lo veo.
 



 
Tasagore - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Control Listbox Con Scroll Por Touch? 
 
Sorry, nunca he programado para pantalla táctil... y espero jubilarme sin tener que hacerlo ¡qué pereza, por dios!
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Control Listbox Con Scroll Por Touch? 
 
Hola, Tasagore, aprovecho para darte mi bienvenida.

En cuanto al control scroll con sensibilidad en cualquier punto del mismo, creo que no existe nada hecho. gambas ciertamente no está pensado para dispositivos móviles o táctiles, sino para aplicaciones de escritorio, por lo cual sinceramente creo que es complicado conseguir el efecto que necesitas.

Lo único que se me ocurre es medir el tiempo que el dedo (puntero) está pulsado sobre la pantalla y si supera por ejemplo 0,5 segundos, cambiar el comportamiento del control para que haga scroll y si el tiempo es menor, considerarlo como un clic. Pero me surgen otras dudas a partir de esto: para llegar a más de 1/2 segundo hay que pasar por 100ms, 200ms, etc, entonces ¿podremos evitar que se dispare el evento clic antes de tiempo?
¿Cómo obligamos al control list* a hacer scroll sin tocar su barra de scroll? ¿Sería mejor empezar de cero y crear el control partiendo de un drawingarea?

Evidentemente son las preguntas que me haría en tu caso, para las que de momento, no tengo respuesta... quizás a ti te puedan proporcionar alguna idea útil.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Control Listbox Con Scroll Por Touch? 
 
Hola, Tasagore.

No tengo equipo con pantalla touch para hacer la prueba, pero según lo que miré en la web relacionado a lo que preguntas (para implementarlo en otros lenguajes), creo que lo que necesitas es llamar al evento del ratón _MouseWheel cuando se presione el Listbox, puede ser que este intercepte la interacción que necesitas para mover el Scroll.

Nos cuentas como te va, suerte.

EDITO:  A cabo de caer en cuenta que los eventos son a Posteriori algo...mañana miraré las web que vi hoy, y trataré de sacar algo en limpio.
 



 
última edición por vicr el Miercoles, 06 Abril 2016, 02:30; editado 1 vez 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Control Listbox Con Scroll Por Touch? 
 
Gracias por las respuestas. En VB pasa lo mismo, esto realmente no existe y me tuve que hace un control específico, veo que me va a tocar lo mismo. Desde mi desconocimiento en gambas, el evento Mousewheel no es válido, hay que capturar el click y el movimiento, si se parece algo a VB en cuanto a eventos, los tiros van por ahí.

Voy a ver si me puedo dedicarle un rato porque ando con mil frentes abiertos y si avanzo algo lo comento por aquí, he preferido preguntar primero porque igual había algún tipo de control que ya lo hiciera, y aprovecho la pregunta, no veo que existan muchos controles descargables (por no decir casi ninguno), en el "mundo gambas" no existen controles disponibles aparte de los oficiales y que puedan ser descargados (pagando o no)?
 



 
última edición por Tasagore el Miercoles, 06 Abril 2016, 10:37; editado 1 vez 
Tasagore - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Control Listbox Con Scroll Por Touch? 
 
Somos pequeñitos y caóticos, me temo...  
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Control Listbox Con Scroll Por Touch? 
 
Extremadamente fácil diría yo, igual se puede simplificar mucho porque estoy todavía trasteando con gambas a ver cómo va, pero si alguien quiere probar, hacemos un formulario, le añadimos un componente TableView (le he llamado Lista) y este es el código, con esto se mueve o bien pinchando con el ratón y arrastrando, o con un touchpanel poniendo el dedo:

' gambas class file

Public intPY As Integer

Public Sub Form_Open()
  Dim I As Integer
  Lista.columns.count = 1
  Lista.Columns[0].Width = Lista.Width
  Lista.rows.count = 25
  lista.ScrollBar = 0
  For I = 0 To 24
    Lista[I, 0].Text = "Elemento " & i
  Next
End


Public Sub Lista_MouseMove()
  If Mouse.state = 1 Then
    'botón click pulsado, hay que mover
    lista.Scroll(0, lista.scrolly + intPY - Mouse.y - 1)
    intPY = Mouse.y
  Endif
End

Public Sub Lista_MouseDown()
  'hay click, almaceno la pY del ratón para tomarlo como "base"
  intPY = Mouse.Y
End
 

 



 
Tasagore - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Control Listbox Con Scroll Por Touch? 
 
Curiosamente al usar esto en una Raspberry PI 3b+ con el panel touch oficial, Mouse.state no es 1 sino 256, según la documentación ese valor debería ser 0-1-2, pero...

Quitando eso funciona, por si a alguien le viene bien
 



 
última edición por Tasagore el Sabado, 16 Abril 2016, 18:13; editado 1 vez 
Tasagore - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Control Listbox Con Scroll Por Touch? 
 
Tasagore:

Gracias por el aporte!!!

Citar:
con el panel touch oficial, Mouse.state no es 1 sino 256, según la documentación ese valor debería ser 0-1-2, pero...


Ten en cuenta que 0-1-2 se refiere al botón que pulsas del usuario.

Sin embargo, tu no estas pulsando ningún botón del  ratón, sino que estas arrastrando el dedo en la pantalla (que es otro evento), por eso el número debe variar.

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Condigo Para Teclado En Touch Panel francopenizzotto General 4 Martes, 06 Abril 2010, 15:37 Ver último mensaje
francopenizzotto
No hay nuevos mensajes Gambas 3 Y Ubuntu Touch Ebano General 4 Jueves, 30 Junio 2016, 17:43 Ver último mensaje
tincho
No hay nuevos mensajes Ejemplos De Scroll De Una Imagen Shell Aplicaciones/Fragmentos de Código 5 Miercoles, 14 Septiembre 2016, 18:21 Ver último mensaje
Shell
No hay nuevos mensajes Scroll Horizontal Con SDL1 Shell General 0 Martes, 18 Junio 2019, 00:33 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron