Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-04-2008
ALMERA ALMERA is offline
Miembro
 
Registrado: may 2003
Posts: 42
Poder: 0
ALMERA Va por buen camino
Unhappy Desarrolo de un teclado virtual como el de windows

Hola, me he propuesto ha realizar un teclado virtual como el de windows desarrollandolo en delphi y me he encontrado con un gran problema, se como mandar mensajes de la tecla pulsada con el ratón a cualquier edit de las ventanas externas (donde parpade el cursor para poder escribir), el gran problema viene que cuando pulso el boton de la tecla "a" por ejemplo para escribir una "a", mi formulario donde está el teclado virtual toma el foco y ya no me manda la tecla "a" a donde yo quiero, sino que lo manda a mi ventana, mi solución pasaría por tener un formulario que no tenga foco, pero no tengo ni idea de como conseguir esto, mi teclaso virtual funciona muy bien si lo aplico en los edit y ventanas de mi propia aplicación pero no con cualquier ventana que tenga abierta de windows, por ejemplo con el notepad, he leido por hay como hacerlo si conozco el nombre de la ventana donde quiero escribir, pero este no es el caso, yo necesito que sea cualquier ventana y no una que yo conozca.

Si alguién me puede ayudar ....

Mil gracias.
Responder Con Cita
  #2  
Antiguo 10-04-2008
Northern Northern is offline
Miembro
 
Registrado: ene 2006
Posts: 211
Poder: 19
Northern Va por buen camino
Mira este enlace: http://delphi.about.com/od/adptips20...ltip1104_3.htm

Bájate la unit SndKey32.pas (si no la tienes).

Abre el Bloc de notas y en un button de tu aplicación pon este código y tendría que funcionar:

Código Delphi [-]
  AppActivate('Sin título - Bloc de notas');
  SendKeys('abc123{left}{left}{left}def{end}456{left 6}ghi{end}789', True);

Si quieres enviar a otra ventana puedes usar el nombre de la ventana o el handle.


Saludos
Responder Con Cita
  #3  
Antiguo 11-04-2008
ALMERA ALMERA is offline
Miembro
 
Registrado: may 2003
Posts: 42
Poder: 0
ALMERA Va por buen camino
Muchas gracias, funciona pero no es lo que yo busco, prueba usar el teclado virtual de windows, si esta el cursor en el bloc de notas o en cualquier sitio de cualquier ventana donde se pueda escribir, al pinchar una tecla en el teclado virtual, la ventana donde está parpadeando el cursor nunca pierde el foco, sin embargo el teclado virtual manda el mensaje de pulsado de tecla a donde se encuentre el edit, y como nunca pierde el foco original, le da igual como se llame la ventana donde queramos escribir por lo que vale para todas las ventanas y todos los edits que pueda haber en dicha ventana, yo pienso que la solución buena a esto sería tener un form especial que no tenga foco, que tu pulses un boton de dicho form y que el cursor siga en el lugar original porque nunca pierde el foco.

Muchisimas gracias por molestarte en aportar esta información, aunque no sea lo que busco exactamente todo suma, haber si alguién puede aportar una idea nueva ya que me parece un tema interesante.

Mil gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Teclado Virtual elcolo83 Varios 2 18-02-2008 12:25:51
Desarrolo de Cliente basado en Skype Api Peterman Internet 8 07-12-2007 00:54:57
Virtual Listview (usando la API de Windows) leader Varios 11 10-10-2006 00:41:20
Virtual Replay - Repetición Virtual de los Goles del Mundial delphi.com.ar La Taberna 0 26-06-2006 17:15:07
Como hacer un teclado virtual Andres_Franco DelphiPACK 2 07-01-2004 09:23:12


La franja horaria es GMT +2. Ahora son las 05:32:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi