![]() |
Destrucción de Formas MDIChild
Tengo una aplicación MDI, en la cual voy creando las MDIChild a medida que las necesito y las destruyo al cerrar las mimas, esto sin problemas.
Pero quiciera hacer que solo me permita una forma MDIChild a la vez, es decir, si creo una forma, y luego intento crear otra, primero, verificar si alguna forma esta creada y luego cerrarla y destruirla, recien ahi crear la nueva forma. Como puedo hacer esto? Yo las creo asi
y la destruyo en OnClose, asi:
Intente hacer lo siguiente, para determinar si hay otra forma creada, asi
Funcioar, me funciona, pero... si lo ejecuto un par de veces seguidas, me tira error. Como tendria que hacer?? Saludos y gracias |
Yo uso el siguiente procedimiento pero no se si funcion con mdi
|
Así, ¿Te funciona?:
Aunque realmente podrias ser:
Ya que no estoy seguro de que cuando se este creando dicho TForm nuevo, el ChildCount sea igual a 1 o 2. //Edito: Ese codigo es asi, siempre y cuando el formulario principal de tu aplicación sea el formulario MDI "padre". De lo contrario, no debe ir MainForm si no, el nombre de dicho formulario MDI "padre". |
Cita:
Saludos |
SOLUCIONADO
Pero ahora tengo una duda, cada vez que creo y destruyo un MDICHild, este se va creando pero se forma en una posicion diferente, es decir, en cascada, a pesar de ser el unico creado. Existe alguna forma de evitar ese efecto como de maximizacion cada vez que se crea la forma MDIChild??? porque esteticamente queda feo, osea creo la MDIChild maximizada, y me gustaria que la muestre ya maximizada, sin ese efecto visual de maximizarse. No se si se entiende lo que pregunto. |
En alguna parte, después de cerrar el MDIChild coloca:
Espero que funcione. ;) |
Cita:
Saludos |
| La franja horaria es GMT +2. Ahora son las 03:24:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi