Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-11-2011
fwhite fwhite is offline
Miembro
 
Registrado: sep 2006
Posts: 37
Poder: 0
fwhite Va por buen camino
Comportamiento de Forms MDI

Hola amigos:
Otra vez con mis problemas. Tengo dos forms, una con FormStyle fsMDIFORM y la otra fsMDICHILD. El problema es que al pulsar el boton para abrir la child ésta no se muestra. Visible lo tengo en True.
Haber quien me puede ayudar. Graciñas.
Responder Con Cita
  #2  
Antiguo 25-11-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
y como lo estas activando?

form1.show?
form1.showmodal?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 25-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Al ser MDI, debería mostrarse con el solo echo de crearlo:
Código Delphi [-]
  TMDIChild.Create(Self);

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 25-11-2011
fwhite fwhite is offline
Miembro
 
Registrado: sep 2006
Posts: 37
Poder: 0
fwhite Va por buen camino
La child la creo así:

Código Delphi [-]
 
With fmChild.Create(Self) do
  try
    Show;
  finally
    Free;
  end;
Responder Con Cita
  #5  
Antiguo 25-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola fwhite.

No es necesario invocar al método Show ya que si la propiedad FormStyle esta declarada como fsMDIChild, la propiedad Visible se pone a True automáticamente.

Si llamas a la creación desde la instancia (frMDIChild) como en tu código, te va a dar error. Hay que llamarla desde la clase (TfrMDIChild). Por otro lado, si utilizás Free, al ser la ventana no modal, retorna inmediatamente y por supuesto con Free se libera y por tanto cierra al instante de ser abierta.

Aunque existen otros modos, te pongo un ejemplo de como podés mostrarla.

MDIForm:
Código Delphi [-]
...
uses Unit2; { unit de frMDIChild }

procedure TfrMDIForm.Button1Click(Sender: TObject);
begin
  if not Assigned(frMDIChild) then  // si no existe
    TfrMDIChild.Create(Self);       // crearla/mostrarla  
end;

MDIChild:
Código Delphi [-]
...

procedure TfrMDIChild.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  // hace que la ventana se cierre (las ventanas MDIChild por defecto se minimizan)
  Action:= caFree;  
end;

procedure TfrMDIChild.FormDestroy(Sender: TObject);
begin
  frMDIChild:= nil;  //  por: if not Assigned(frMDIChild)... 
end;

Por último te pongo un enlace que te va a aclarar el uso de MDI Aplicaciones MDI

Edito: Me olvidaba... Quitá el form MDIChild de la lista: Proyect -> Options -> Forms -> Auto-create forms:

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 25-11-2011 a las 18:26:31.
Responder Con Cita
  #6  
Antiguo 26-11-2011
fwhite fwhite is offline
Miembro
 
Registrado: sep 2006
Posts: 37
Poder: 0
fwhite Va por buen camino
Hola a todos.
Ecfisa, he probado como me dices, pero el resultado es igual. He mirado la página que me indicas, lo hago como en ella se detalla y el resultado es el mismo. No se que puede pasar.
Un saludo.
Responder Con Cita
  #7  
Antiguo 26-11-2011
fwhite fwhite is offline
Miembro
 
Registrado: sep 2006
Posts: 37
Poder: 0
fwhite Va por buen camino
Hola otra vez:
Graciñas por vuestras respuestas. Ya he descubierto lo que me pasaba. La ventana child se mostraba correctamente, pero se escondía detras de un panel de unos componentes externos a Delphi y por eso no la vía.
Un saludo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Comportamiento de una form fwhite OOP 9 03-08-2011 17:53:37
Extraño comportamiento de ADO r1d2m3 Conexión con bases de datos 3 12-12-2009 19:08:32
Comportamiento de bde con oracle 10 g opsi Conexión con bases de datos 4 27-09-2006 22:32:47
Comportamiento de indices Osorio Firebird e Interbase 4 16-06-2006 16:08:36
Comportamiento de los Packages unicode OOP 2 07-09-2003 18:22:38


La franja horaria es GMT +2. Ahora son las 10:16:11.


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
Copyright 1996-2007 Club Delphi