Ayuda con diálogo no modal.

28/04/2005 - 01:54 por William GS | Informe spam
Hola a todos, tengo un CDialog no modal, sin barra de
titulo, ni boton Aceptar ni Cancelar; lo que busco es que
este se oculte cuando el usuario hace click fuera de este
dialogo y/o cuando pierde el foco, he tratado de capturar
el mensaje WM_KILLFOCUS, pero este se llama solo una vez
cuando se muestra, no se llama nunca cuando pierde el
foco.

Lo que estoy intentando hacer es un dialogo "popup", es
decir cuando el usuario hace clic en un boton por
ejemplo, este dialogo debe aparecer debajo del boton.
Logro hacer esto, lo que me falta es ocultar el dialogo.

Alguna sugerencia para hacer esto?

Muchas gracias,
William G.S.
 

Leer las respuestas

#1 Isidro Muñoz
28/04/2005 - 10:10 | Informe spam
¿ cuando se haga click fuera de esa ventana pero en la misma aplicacion o
cuando se haga click incluso fuera de la aplicación ?

Si es fuera de la aplicacion creo que tienes que usar HOOK, y el tipo que
puedes crear es WH_MOUSE Hook. Si no tienes claro como crearlos lo comentas.

¿ Seguro que no hay ningún tipo de ventana que permita esto ?

Entonces las ventanas de popup ¿ como se crean ? Seguro que hay alguna
condicion en el CreateWindow para hacer esto. O eso sospecho yo, lo que
ocurre que ando mal de tiempo para investigarlo.

Saludos
Isidro.

"William GS" escribió en el mensaje
news:084d01c54b84$654c9090$
Hola a todos, tengo un CDialog no modal, sin barra de
titulo, ni boton Aceptar ni Cancelar; lo que busco es que
este se oculte cuando el usuario hace click fuera de este
dialogo y/o cuando pierde el foco, he tratado de capturar
el mensaje WM_KILLFOCUS, pero este se llama solo una vez
cuando se muestra, no se llama nunca cuando pierde el
foco.

Lo que estoy intentando hacer es un dialogo "popup", es
decir cuando el usuario hace clic en un boton por
ejemplo, este dialogo debe aparecer debajo del boton.
Logro hacer esto, lo que me falta es ocultar el dialogo.

Alguna sugerencia para hacer esto?

Muchas gracias,
William G.S.



Preguntas similares