![]() |
Aplicacion con varias ventanas
Hola, siempre que e creado aplicaciones siempre lo he hecho con frames o con forms, pues bien lo que quiero realizar es una aplicacion que se abra una ventana principal y cuando quiera abrir otra, esta se abra dentro de la principal y que al maximizar ocupe todo el 'client ' de la principal.
No se si me e explicado con claridad. Alguien podria explicarme como? Espero sus respuestas |
Puedes crear una aplicación del tipo MDI, puedes ver si te sirve haciendo esto.
File->New->Projects->MDI Application. Salud OS. |
Hola,
Son las conocidas como aplicaciones "MDI" o Multiple Document Interface. Inicia un nuevo proyecto "Application" en Delphi. Dale el valor "fsMDIForm" a la propiedad "FormStyle" del formulario principal de la aplicación. Añade un nuevo formulario a la aplicación que acabas de crear y dale a su propiedad "FormStyle" el valor "fsMDIChild". Si ejecutas la aplicación en este punto verás que el "Form2" aparece dentro del "Form1", tal como querías. Trabajar, de todos modos, con esta aplicaciones, conlleva algunos cambios respecto de la forma de trabajo con aplicaciones "SDI" o Single Document Interface. Pero, aquí habrá quien sepa echarte una mano en caso necesario. Edito: el compañero egostar se me adelantó, pero, no voy a borrar mi mensaje de todos modos, pues creo que puede complementar lo que ha dicho egostar. :) |
gracias, las dos respuestas son buenas
seguire escribiendo en este post |
Ventanas secundarias
Hola, mi cuestión ahora es porque los forms midchild que creo se muestran al iniciar la aplicacion y porque cuando las cierro estas no se cierran sino que se queda minimizadas en el mdiform.
Un saludo |
Hola,
Lo primero ocurre porque estos formularios "MDIChild" se muestran visibles según se crean: y no puede ser de otra forma, además, parece ser. Así que el asunto pasa por crearlos cuando los necesites. Si echas un vistazo al archivo ".dpr" de la aplicación que creamos... en este Hilo, verás algo como esto:
Pues bien, se trata de eliminar la línea "Application.CreateForm(TForm2, Form2);" para que el formulario no se cree y tampoco se muestre, por tanto. Respecto de lo segundo, la cuestión está en utilizar el evento "OnClose" de los formularios "MDIChild":
De ese modo cuando se cierre el formulario este no se ocultará (o minimizará) sino que será liberado. En todo caso me doy cuenta de mis limitaciones, en general, y, en particular, con las aplicaciones MDI... Lo mismo hay mejores respuestas de otros compañeros. Pueden esperarse, desde luego. :) |
La franja horaria es GMT +2. Ahora son las 07:39:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi