Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Cómo saber el form padre de un MDIChild? (https://www.clubdelphi.com/foros/showthread.php?t=58784)

gandalf_uy 31-07-2008 20:18:47

Cómo saber el form padre de un MDIChild?
 
Buenas, estoy necesitando saber, que cuando estoy en un form del tipo MDIChild, saber cual fue el formulario "padre" que lo creó.

Seguramente sea una pregunta sencilla, pero estoy estancado con eso y no se cómo saberlo.

Agradezco desde ya.

Salu2
gandalf_uy

Kipow 31-07-2008 20:34:48

Ya probaste con la propiedad "Parent" del formulario?

Caro 31-07-2008 20:46:44

Hola gandalf_uy, cuando creas a tu formulario hijo puedes indicarle cual sera su propietario (que sera el formulario de donde lo estas llamando) y despues preguntas por su Owner (Propieatrio).

Cuando creas el formulario

Código Delphi [-]
  FormHijo := TFormHijo.Create(Self);
  FormHijo.Show;

Y en el formulario hijo preguntas por su propietario.

Código Delphi [-]
  showmessage(TForm(Self.Owner).Name);

Saluditos

gandalf_uy 31-07-2008 20:48:49

Si probé, pero tiene valor nil.

El tema es así. Tengo un form principal definido como fsMDIForm. Este crea un formulario (llamado ej: nivel1) del tipo fsMDIChild y a su vez este crea otro formulario del tipo fsMDIChild tambien (llamado ej: nivel2)

Estando en el formulario nivel2, necesito saber que formulario fue el que lo creó. Y en este caso, repito, el valor parent del form es nil.

Alguna idea?

Gracias...

gandalf_uy 31-07-2008 21:13:34

Muchas gracias Caro, eso era lo que necesitaba.

Salu2

javier7ar 31-07-2008 21:18:33

la propiedad Parent tiene hace referencia al componente que contiene a la ventana. Por ejemplo en un boton que esta adentro de un panel, Boton.Parent = Panel

La propiedad que vos buscas es la que dijo Caro, Owner, que es el que creo la ventana, y si esta propiedad esta en nil es porque cuando creas la ventana le estas pasando nil en el Create.

Código Delphi [-]
FormHijo := TFormHijo.Create({aca va el owner, generalmente Self});


La franja horaria es GMT +2. Ahora son las 22:29:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi