![]() |
Mandar datos con patalla tactil
He de hacer un programa que, mediante una pantalla tactil y un teclado virtual numérico, envie el valor de la tecla que pulso a otro lugar... Como puedo hacer esto? Hay algun evento que lo permita ya?
Gracias! :) |
Mandar datos con patalla tactil
He de hacer un programa que, mediante una pantalla tactil y un teclado virtual numérico, envie el valor de la tecla que pulso a otro lugar... Como puedo hacer esto? Hay algun evento que lo permita ya?
Gracias! :) Perdonad las molestias, me confundí de foro y lo puse en el de SQL, moderadores, lo siento, lo podéis borrar. :( |
Puedes hacerlo enviando un mensaje (WM_KEYDOWN, WM_KEYUP) si nececitas hacerlo a una ventana en particular, sino utilizando keybd_event para que lo reciba quien tiene el foco.
PD: ¿Conoces la herramienta de Teclado en Pantalla que trae Windows? Saludos! |
No, no conozco esa herramienta... en que consiste??
|
Es un tecladito en pantalla que hace exactamente lo que tu quieres hacer.
|
A!!! Ok! Muchas grácias! Voy a probarlo. En quanto tenga una solución, o otra duda :P, te lo comunico ok?
Merci! Chao |
El problema me persiste.... :(
A ver... sigo el consejo de Delphi.com.ar ya que creo que es la solución más lógica (y en parte es la que pensava antes pero no sabía como hacerlo...) Ahora tengo el problema de que no se como crear la sentencia para que me salga el programa. El texto que escriba en el teclado numérico virtual tiene que ir hacia otra ventana (pongo el ejemplo de que quiero escribir en el Word o en el Foro mismo) pero no se como hacerlo... Plis... ;) Grácias. edit: P.D. Parece ser que he encontrado una manera de hacer lo que quiero usando el WM_KEYDOWN, el problema es que solo me lo escribe en el mismo formulario. Hay alguna propiedad para que el formulario te quede en una especie de "segundo termino" para poder poner el foco en otra ventana y seguir viendo el teclado virtual? |
No se si no encontráis una solución para mi problema... yo he ido probando cosas pero no hay manera... he echo alguna prueba como esto...
El mayor problema es que necesito que el foco se mantenga en la pantalla en la que quiero escribir los numero y cuando aprieto un boton en mi aplicació el foco pasa cambia a mi aplicación. Supongo que la solución sería encontrar la manera de que el foco se mantenga en el mismo sitio sin pasar al programa. Me han dicho que se puede desactivar que el foco se vaya al programa usando WS_EX_NOACTIVATE pero solo funciona en WinXP y yo uso 2000, y mis clientes también... :( Uso WM_KEYDOWN para enviar el mensaje... esta es la linia de código que uso... Código:
Luego he probado lo siguiente: Código:
Código:
Con esto... alguien tiene alguna idea de como seguir? Gracias otra vez... |
En un ratito hice esto, y funciona sin aparentes problemas:
El problema que tienes al enviar el mensaje, es que seguramente se lo estas enviando al form contenedor, y no al editor que necesitas que lo reciba. Saludos! |
Delphi.com.ar, te han dicho alguna vez que eres el amo?? xD Grácias, ya he solucionado el problema.
Ni probé a ver si funcionaba WS_EX_NOACTIVATE pues me habían comentado eso, que no funcionava con Win2000 y ya ni lo probé. A más, tal como me has pasado el código hacía un enter : Código Delphi: keybd_event(VK_RETURN, 0, 0, 0); de manera que lo he adaptado para que escriba un número. Tan solo se tiene que poner el código ASCII del número en cuestion y ya está. Código Delphi: keybd_event(49, 0, 0, 0); (El número uno) Grácias!!!! ;) :rolleyes: :p :cool: |
La franja horaria es GMT +2. Ahora son las 18:11:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi