PDA

Ver la Versión Completa : Como hacer que un formulario solo se pueda mover dentro de otro


jasmad
12-09-2011, 19:25:55
Buenas y muchas gracias por la ayuda brindada a la comunidad
Lo que estoy tratando de hacer es que cuando llamo a un formulario quede dentro del formulario principal y solo se pueda mover desde ahi...

look
12-09-2011, 19:33:35
Buenas y muchas gracias por la ayuda brindada a la comunidad
Lo que estoy tratando de hacer es que cuando llamo a un formulario quede dentro del formulario principal y solo se pueda mover desde ahi...

¿te refieres a interface mdi?
solo tienes que asignar tu formulario principal como tipo mdi y las demas ventanas como tipo childs...

ecfisa
12-09-2011, 19:35:17
Hola.

Si no entiendo mál lo que queres hacer, basta con que declares el form principal con la propiedad FormStyle = MDIForm y el form que debe circunscribirse a él, con la propiedad FormStyle = MDIChild.

Aquí te pongo algunos enlaces que te van a ayudar con los Multiple Document Interface:

MDI 1 (http://www.infonegocio.com/tudela2/delphiladero/docs/mdi/mdi1.htm)
MDI 2 (http://delphiallimite.blogspot.com/2007/09/creando-aplicaciones-mdi.html)
MDI 3 (http://delphi.about.com/od/beginners/l/aa031103a.htm)


Saludos.

ecfisa
12-09-2011, 19:36:35
Disculpas, no estaba el mensaje de look cuando empecé con el anterior :o

Bueno, lo mismo que te ha dicho él...;)

Saludos.:)

look
12-09-2011, 19:38:16
No había visto el mensaje de look. :o

Bueno, lo mismo que te ha dicho él...;)

Saludos.:)

vale!! pero tu lo explicaste mejor, yo que ando de holgazán:D

ecfisa
12-09-2011, 20:32:33
vale!! pero tu lo explicaste mejor, yo que ando de holgazán
Más haragán estuve yó que ni siquiera miré antes de postear :D:D:D

Saludos.

jasmad
13-09-2011, 18:32:29
Muchas gracias por tu respuesta. Y estuve viendo los articulos que me referiste y no se porque no me funciona. Creo un nuevo proyecto con dos formularios, al principal le asigno la propiedad FormStyle a fsMDIForm y al hijo la propiedad FormStyle a fsMDIChild como dice en todos estos y el resultado cuando ejecuto es que solo se muestra el principal. Por otro lado si hago un boton que que muestre el formulario hijo con .show este se muestra de manera independiente.
Mi pregunta es la siguiente: hay que configurar el formulario hijo para que sepa cual es su padre o estoy haciendo algo mal??

una vez mas gracias por la informacion brindada

ecfisa
13-09-2011, 19:10:26
Hola jasmad.

Te adjunto un ejemplo muy simple con dos forms, Form1 de tipo fsMDIForm y Form2 de tipo fsMDIChild.
En él quité a Form2 de Auto-create forms (Project->Options->Forms) y se crea/muestra en respuesta al evento OnClick de un TButton. Si no lo quitas de Auto-createforms, Delphi lo crea y muestra sin tu intervención.

Puse en el evento OnClose de Form2, a Action igual a caFree para que se cierre ya que los forms MDIChild por defecto se minimizan, si buscas ese efecto eliminá la línea.
Podrías completar el código agregando Form2:= nil en el evento OnDestroy, si tu intención es destruirlo para volverlo a crear (o no).

Espero que te sirva como primera guía.

Un saludo.

jasmad
19-09-2011, 16:27:10
Hola ecfisa.

Muchas gracia por tu guia me a servido de mucho