Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

MDI que ventana es la activa?

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: MDI que ventana es la activa? Responder citando

for(int i = MDIChildCount-1; i >= 0; i--)
if (MDIChildren[i]->Caption == "NONAME1")
ShowMessage("No se puede abrir");


He estado mirando en el Buscar sobre MDI pero no acabo de encontrar lo que busco!! He pillado este ejemplo para preguntar, como puedo saber que ventana es la que estaba activa antes de perder el FOCO.Para entendernos quiero abrir una nueva ventana MDI desde dentro de una ventana MDI , llamo a un metodo de Main para crear la nueva ventana pero despues quisiera volver a la ventana que ha empezado la acción la que ha llamado al metode de Main.

MDIChildren[i]->Caption == "NONAME1"
por tanto me faltaria saber la [i] de la ventana Actual no?
Como puedo saber que ventana MDI activa esta activa? para poder volver a activarla después???

MIL GRACIAS. Da GUSTO este FORO.
Wink
Volver arriba
Mensaje    Asunto: Responder citando

Cita:
... Como puedo saber que ventana MDI activa esta activa? ...


Tienes un puntero al Form MDI hijo activo en la propiedad ActiveMDIChild del Form padre.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Disculpa LEO me explico de pena, lo que yo queria decir es como poder recordar la penultima ventana activa? O sea que abro una ventana (pasa a ser la activa), dentro de esta hay un botón que abre una de nueva llamando a una funcion de creación de ventana de MAIN por tanto la hasta ahora activa pasa a no serlo, relleno el formulario de la activa e intento poder volver a la que ha llamado a esta. como? como puedo volver a una cierta ventana hija sin tener que recorrer el array de ventanas hijas y leer por ejemplo su Tag?

Que identifica a una ventana hija, que me sirva para poder ir a ella de forma directa? o tengo que recorrer siempre el array de ventanas?

Muchas gracias por tu respuesta, bien por esta y por todas , gracias.
Volver arriba
Mensaje    Asunto: Responder citando

Se me ocurre que puedo crear una variable global en el main para hacer un seguimiento de las ultimas,penultimas ventanas abiertas pero creo que quizà alguien sabe una mejor manera.

no?

Gracias.
Volver arriba
Mensaje    Asunto: Responder citando

No veo ninguna pega en buscar el Form. Aun teniendo miles de Forms lo que tardarías en encontrarlo es imperceptible. Lo único por comodidad es crear una función global para buscarlo en vez de poner cada vez ese bucle, y otro detalle es que en vez de usar la propiedad Caption uses la propiedad Name la cual puedes cambiar en tiempo de ejecución justo después de crear el Form al nombre que tu quieras darle ya que supongo que el Caption necesitaras modificarlo durante la ejecución del programa.

Yo prefiero buscarlo en vez de crear variables globales. Aunque para algunas cosas sencillas y si solo necesitas un Form MDI de cada tipo puedes incluso usar la variable global que crea el Builder como en un Form normal, claro que metiendo tu el valor en ella y poniéndolo a 0 cuando la cierres... no se si me entenderás.

Veo complicado encontrar más soluciones que estas ya que solo esa matriz o la que tu te crees como variable global son las únicas referencias a esos Forms. Pero bueno si a alguien se le ocurre una manera mejor pues que la ponga por aquí que siempre es bueno ver cuantos mas puntos de vista mejor.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Gracias Responder citando

Gracias Leo. El tema era eso poder volver a la ventana anterior. Me parece que de momento no implementaré esta posibilidad.
Voy un poco corto de tiempo.

Gracias.
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.