No logro interceptar el evento KeyPress - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: No logro interceptar el evento KeyPress (/thread-1573.html) |
No logro interceptar el evento KeyPress - Grandamakulo - 15-12-2023 Hola, compañeros: Pues lo del asunto. En un TextArea —y afines, como TextEdit— no logro interceptar el evento KeyPress o el Key Release. Pongo un ejemplo supersencillo: Código: ' Gambas class file No hay manera de que funcione, aun cambiando la configuración: Código: gb.form Código: gb.form Seguro que es una chorrada, pero no doy con ello. Muchas gracias de antemano. RE: No logro interceptar el evento KeyPress - vuott - 15-12-2023 No es chorrada: tengo el mismo problema desde hace muchas semanas ! RE: No logro interceptar el evento KeyPress - Shell - 15-12-2023 Parecéis de primero. =8-O (15-12-2023, 15:00)vuott escribió: No es chorrada: tengo el mismo problema desde hace muchas semanas ! Pero legatus Vuott!!. Ale, ya funciona. Si no tenéis un manipulador de eventos, ¿ cómo quieres que funcione ?. Código: Public txeTexto As New TextArea(Me) As "Manipulador" Saludos RE: No logro interceptar el evento KeyPress - vuott - 15-12-2023 Consul, Tengo este problema más allá del código expuesto aquí. No se el porqué. RE: No logro interceptar el evento KeyPress - Shell - 15-12-2023 (15-12-2023, 21:09)vuott escribió: Tengo este problema más allá del código expuesto aquí. Pues comenta el problema en el foro, sube un ejemplo que no te funcione y que podamos reproducirlo en nuestro ordenador. Así lo vemos varios y tienes una idea aproximada de la magnitud del problema. Al menos los que "tenemos" interés aún en participar. Por cierto el nombre del manipulador de evento, puede ser perfectamente el nombre del control que es como solemos verlo por defecto. RE: No logro interceptar el evento KeyPress - Grandamakulo - 18-12-2023 Sí, es cierto lo del manipulador —las prisas no son buenas consejeras, me puse a simplificar el código lo más posible para centrarnos en el problema—, pero, tal cual dice nuestro frater, incluso así, no funciona como debe. Ahora sí, pongo el ejemplo completo en el archivo que adjunto . No funciona con qt5.ext para el TextEdit —que no TextEditor—. Si cambiamos el editor a un TextArea —y no usas las funciones del editor, que darían error— y usas gtk3 ocurre que sólo intercepta algunas. Para que lance el evento con todas las teclas, tienes que poner un punto de interrupción al comienzo del evento, pulsar una tecla especial como mayúsculas o una tilde y tras parar en la primera vuelta, luego quites el punto de interrupción y le des a continuar la ejecución. Una cosa muy rara, de verdad. RE: No logro interceptar el evento KeyPress - Shell - 19-12-2023 (18-12-2023, 14:21)Grandamakulo escribió: pero, tal cual dice nuestro frater, incluso así, no funciona como debe. Era algo sencillo. Si Vuott lo dice, es por algo. Pero no ha especificado el donde y el como. En tu caso, si lo has hecho. Aunque resulta bien raro. Entonces lo que os quejáis es que falla con controles concretos. Lo pruebo. Saludos RE: No logro interceptar el evento KeyPress - Shell - 19-12-2023 He creado un ejemplo con el evento KeyPressed usado en un TextEdit Debería ser indiferente. Se trata de esto: Código: Private unaclase As Class Key[simbolo] devuelve el valor del simbolo de la clase Key. Así que lo que hace es comparar el valor de Key.Code con lo que representa key[simbolo], si coincide lo muestra y y te dice la tecla que se debió pulsar. Ejemplo F1, Return, Up...etc. Pero lo cierto es que no funciona con todas las teclas. Saludos |