Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Como usar los formularios MDI, constructores de componentes (https://www.clubdelphi.com/foros/showthread.php?t=38210)

Narlohe 06-12-2006 19:02:13

Como usar los formularios MDI, constructores de componentes
 
Hola buenas tardes
Estoy haciendo una aplicacion con formularios MDI y al crear la primera ventana o formulario hija no se en que forma o bajo que evento puedo lograr visualizarla, Lo he intentando con showmodal pero no funciona, coloco el showmodal dentro del constructor en el formulario hijo. Estoy utilizando un popmenu para las opciones del formulario padre.

Código Delphi [-]
constructor Tfmnuevosalumnos.crear(aOwner:Tapplication);
   begin
    inherited create( self);
    try
     Tfmnuevosalumnos.showmodal;
    finally
     free;
   end;

Muchas gracias.:)

roman 06-12-2006 20:23:38

¿No estarás confundiendo? En una aplicación MDI el formulario padre tiene estilo (propiedad FormStyle) fsMDIForm y los formularios hijos tienen estilo fsMDIChild. El caso es que un formulario MDIChild siempre está visible por lo que apenas lo creas debería aparecer inmediatamente sin necesidad de Show o ShowModal.

// Saludos

nachoalbano 06-12-2006 23:25:52

Opcion para no verlos de entrada
 
Cita:

Empezado por roman
¿No estarás confundiendo? En una aplicación MDI el formulario padre tiene estilo (propiedad FormStyle) fsMDIForm y los formularios hijos tienen estilo fsMDIChild. El caso es que un formulario MDIChild siempre está visible por lo que apenas lo creas debería aparecer inmediatamente sin necesidad de Show o ShowModal.

// Saludos

Lo que te dice Roman es correcto. Otra de las cosas que podes hacer al definir un formulario de tipo MDIChild es removerlo de la lista de Auto-create Forms. Para hacer esto haces crt+shft+F11 (Proyect-->Option-->Forms) y pasas tu formulario MDIChild a la lista de Disponibles (la de la derecha).
En el boton que llamaria al formulario de mdiChild haces lo siguiente:
Código Delphi [-]
procedure TfmPrincipal.Button1Click(Sender: TObject);
begin
    if not Assigned(form1) then
      form1 := Tform1.Create(Application);
    form1.Show;
end;

por otro lado tendrías que modificar otros eventos del Formulario MDIChild
Código Delphi [-]
procedure Tform1.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action := caFree;
end;
procedure Tform1.FormDestroy(Sender: TObject);
begin
  form1 := nil;
end;

espero que esto te sirva. Saludos

Narlohe 11-12-2006 10:54:10

Uso de constructores en formularios MDI
 
Hola muchas gracias por la orientacion realmente me ha servido de mucho.
:) .
Estoy haciendo una aplicacion con formularios MDI y para el manejor de la base de datos PL/SQl cualquier duda en que los pueda ayudar con gusto.:)


La franja horaria es GMT +2. Ahora son las 21:24:14.

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