| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
iluso Invitado
|
Publicado: Vie 18 Abr, 2003 2:49 pm Asunto: MDI que ventana es la activa? |
|
|
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.
 |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Dom 20 Abr, 2003 1:01 pm Asunto: |
|
|
| 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 |
|
 |
ILUSO Invitado
|
Publicado: Mar 22 Abr, 2003 8:15 am Asunto: |
|
|
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 |
|
 |
iluso Invitado
|
Publicado: Mie 23 Abr, 2003 7:00 pm Asunto: |
|
|
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 |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mie 23 Abr, 2003 7:29 pm Asunto: |
|
|
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 |
|
 |
iluso Invitado
|
Publicado: Vie 25 Abr, 2003 4:51 pm Asunto: Gracias |
|
|
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 |
|
 |
|