Foros del Web » Programación para mayores de 30 ;) » Programación General »

Como mostrar un dialogo un tiempo determinado

Estas en el tema de Como mostrar un dialogo un tiempo determinado en el foro de Programación General en Foros del Web. Hola, queria saber como puedo mostrar un cuadro de dialogo, programando en C++ y cerrarlo automaticamente pasados unos segundos. Un cuadro del tipo "Procesando..." que ...
  #1 (permalink)  
Antiguo 16/06/2005, 04:04
Avatar de Nietzsche  
Fecha de Ingreso: enero-2005
Ubicación: MALAGA-ESPAÑA
Mensajes: 228
Antigüedad: 19 años, 10 meses
Puntos: 0
Como mostrar un dialogo un tiempo determinado

Hola, queria saber como puedo mostrar un cuadro de dialogo, programando en C++ y cerrarlo automaticamente pasados unos segundos. Un cuadro del tipo "Procesando..." que indique que se esta llevando a cabo una operacion, y al concluir la operacion que desaparezca. He intentado hacer uso de varios metodos de la clase CDialog pero no lo consigo. Gracias.
  #2 (permalink)  
Antiguo 16/06/2005, 08:25
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Pues simplemente l terminar el proceso que tienes que hacer pues le mandas un mensaje de salir al cuadro de dialogo.

Y sdi quieres que sea falso pues usa las funciones GetTickCount para poder hacer un retraso, o un sleep.

saludos
  #3 (permalink)  
Antiguo 16/06/2005, 09:38
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 7 meses
Puntos: 17
Cita:
Iniciado por Instru
Pues simplemente l terminar el proceso que tienes que hacer pues le mandas un mensaje de salir al cuadro de dialogo.

Y sdi quieres que sea falso pues usa las funciones GetTickCount para poder hacer un retraso, o un sleep.

saludos
Instru... Está hablando de las MFC, y las MFC funcionan por eventos, no es un programa tan "lineal" como uno que empieza en main { y acaba en } tras unas pocas líneas.

Para mostrar un cuadro de diálogo debes crear el otro, tener un puntero en la clase que lo invocará e invocarlo cuando le desees. La función que te hace el proceso simplemente al final cierra el diálogo que está abierto. Depende mucho de cómo organices el programa...
  #4 (permalink)  
Antiguo 16/06/2005, 11:09
Avatar de Nietzsche  
Fecha de Ingreso: enero-2005
Ubicación: MALAGA-ESPAÑA
Mensajes: 228
Antigüedad: 19 años, 10 meses
Puntos: 0
Mi problema es que hago una llamada a la funcion ShellExecute, que ejecuta un programa independiente, por lo que me es imposible saber cuando acaba la ejecución de esa aplicación. Lo que hago es hacer un sleep de 30 segundos (tiempo mas que suficiente para que se ejecute) y despues que prosiga mi programa. Me gustaria mostrar un dialogo antes del sleep y cerrarlo automaticamente justo despues. He probado con la funcion miembro de la clase CDialog EndDialog pero me da error en tiempo de ejecucion. Un saludo a todos.
  #5 (permalink)  
Antiguo 16/06/2005, 11:15
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Podrias usar ShellExecuteEx y hacer un WaitForSingleObject sobre el hProcess, eso detendria tu programa hasta que terminara el proceso que ejecutaras.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #6 (permalink)  
Antiguo 16/06/2005, 11:36
Avatar de Nietzsche  
Fecha de Ingreso: enero-2005
Ubicación: MALAGA-ESPAÑA
Mensajes: 228
Antigüedad: 19 años, 10 meses
Puntos: 0
Gracias, eso es una buena opción. Y alguna idea para lo de mostrar el diálogo mientras?
  #7 (permalink)  
Antiguo 16/06/2005, 11:38
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Podes crear un hilo que muestre el dialogo y ejecute un bucle hasta que se cambie el valor de una variable. A esa variable se le cambiaria el valor justo despues del WaitForSingleObject.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #8 (permalink)  
Antiguo 16/06/2005, 12:05
Avatar de Nietzsche  
Fecha de Ingreso: enero-2005
Ubicación: MALAGA-ESPAÑA
Mensajes: 228
Antigüedad: 19 años, 10 meses
Puntos: 0
Mi problema esq no se como hacer que acabe el dialogo. La unica forma que se es al apretar algun boton y no segun el valor de una variable... soy algo inexperto.
  #9 (permalink)  
Antiguo 16/06/2005, 12:07
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Supongo que habra algun metodo tipo End() o algo asi, busca en la ayuda de la MFC.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #10 (permalink)  
Antiguo 16/06/2005, 12:45
Avatar de Nietzsche  
Fecha de Ingreso: enero-2005
Ubicación: MALAGA-ESPAÑA
Mensajes: 228
Antigüedad: 19 años, 10 meses
Puntos: 0
De acuerdo. Muchas gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:16.