Problemas con el foco y la barra de direcciones
Publicado por arrodenas (1 intervención) el 04/11/2006 22:51:59
Hola.
Es la primera vez que hago una consulta.
Estoy programando un teclado virtual en Visual C++ y tengo un problema del que no se salir.
No puedo escribir en la barra de direcciones. Mi aplicación tiene unos botones con caracteres. Cuando se pulsa uno de los botones se envía un caracter a la ventana donde estamos escribiendo. Cuando se pulsa con el ratón sobre el botón, mi aplicación coge el foco. Normalmente esto no es un problema cuando escribes en notepad, por ejemplo. Es un problema cuando escribimos en una barra de direcciones, ya que al perder el foco la otra ventana y volver a ella se selecciona todo el texto de la barra de direcciones y al mandar el caracter, machaca lo escrito anteriormente.
He probado a enviar un caracter que no afecte(por ejemplo, flecha hacia arriba) para que se deseleccione el texto y el caracter se envíe a continuación. Esto causa problemas en otras aplicaciones.
Otra solución que he probado es con el mensage OnMouseActive, para que no se active la ventana, pero algo hago mal porque aunque ponga return MA_NOACTIVATE se sigue activando.
Espero que alguien me pueda ayudar.
Muchas gracias.
Es la primera vez que hago una consulta.
Estoy programando un teclado virtual en Visual C++ y tengo un problema del que no se salir.
No puedo escribir en la barra de direcciones. Mi aplicación tiene unos botones con caracteres. Cuando se pulsa uno de los botones se envía un caracter a la ventana donde estamos escribiendo. Cuando se pulsa con el ratón sobre el botón, mi aplicación coge el foco. Normalmente esto no es un problema cuando escribes en notepad, por ejemplo. Es un problema cuando escribimos en una barra de direcciones, ya que al perder el foco la otra ventana y volver a ella se selecciona todo el texto de la barra de direcciones y al mandar el caracter, machaca lo escrito anteriormente.
He probado a enviar un caracter que no afecte(por ejemplo, flecha hacia arriba) para que se deseleccione el texto y el caracter se envíe a continuación. Esto causa problemas en otras aplicaciones.
Otra solución que he probado es con el mensage OnMouseActive, para que no se active la ventana, pero algo hago mal porque aunque ponga return MA_NOACTIVATE se sigue activando.
Espero que alguien me pueda ayudar.
Muchas gracias.
Valora esta pregunta


0