Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 20-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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
Cita:
Es una llamada básica al hijo...
Hola _CALI.

De esa forma permite abrir mas de una instancia del mismo MDIChild cosa que normalmente no es deseable.

Para crear o activar el minimizado:
Código Delphi [-]
(* Crear MDIChild  *)
procedure TfrmMDIForm.AbrirMDIChild(AClass: TFormClass);
var
  i: Integer;
begin
  for i:= MDIChildCount-1 downto 0 do
    if MDIChildren[i] is AClass then                   //  ¿ Se encontro ?
    begin
      if MDIChildren[i].WindowState = wsMinimized then // ¿ Minimizado ?
        MDIChildren[i].WindowState:= wsNormal;         // => Restaurar
      Exit; // nada mas que hacer aquí...
    end;
  // no se encontró => Crearlo y traerlo al frente
  with AClass.Create(Self) do
    BringToFront;
end;
De este modo, si el MDIChild ya fué creado lo restaura, si no crea una nueva instancia.


Si deseas que el form que es llamado quede seleccionado y permanezca minimizado en lugar de restaurarse, sólo cambiá por la línea en negrita:
Código Delphi [-]
(* Crear MDIChild  *)
procedure TfrmMDIForm.AbrirMDIChild(AClass: TFormClass);
var
  i: Integer;
begin
  for i:= MDIChildCount-1 downto 0 do
    if MDIChildren[i] is AClass then                   //  ¿ Se encontro ?
    begin
      if MDIChildren[i].WindowState = wsMinimized then // ¿ Minimizado ?
       MDIChildren[i].Show;      
      Exit; // nada mas que hacer aquí...
    end;
  // no se encontró => Crearlo y traerlo al frente
  with AClass.Create(Self) do
    BringToFront;
end;

Llamada ejemplo: (para ambos casos)
Código Delphi [-]
procedure TfrmMDIForm.ToolButton1Click(Sender: TObject);
begin
  AbrirMDIChild(TfrmMDIChild1);
end;

Saludos.
__________________
Daniel Didriksen

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



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
Cerrar MDIChild desde otro MDIChild Lenny Varios 2 14-12-2011 21:06:34
MDI no se maximiza correctamente Lepe OOP 4 26-08-2010 18:42:37
Click en minimizar ventana y minimizar aplicacion dmassive Varios 5 16-02-2009 17:01:16
MDIChild abre otro MDIChild Paulao Varios 6 10-04-2008 18:02:05
Enlazar con base de datos este donde este 4-0 C++ Builder 5 12-01-2007 20:33:00


La franja horaria es GMT +2. Ahora son las 20:01:08.


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