Ver Mensaje Individual
  #4  
Antiguo 25-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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 granodetoro.

Existen varias maneras de lograrlo, te pongo dos formas:
Código Delphi [-]
function TMDIForm.AssignedMDI(AName:String): boolean;
var
  i: integer;
begin
  Result:= False;
  for i:= 0 to MDIChildCount - 1 do
    if MDIChildren[i].Name = AName then Result:= True
end;

Llamada:
Código Delphi [-]
begin
 if AssignedMDI('MDIChild1') then
    MDIChild1.BringToFront
  else
    MDIChild1:= MDIChild1.Create(nil);
end;

Otro forma:
Código Delphi [-]
procedure TForm1.MostrarChild(AClass: TFormClass);
var
  i: Integer;
begin
  for i:= 0 to Screen.FormCount -1 do  
    if Screen.Forms[i] is AClass then  
    begin
      Screen.Forms[i].WindowState:= wsNormal; 
      Screen.Forms[i].BringToFront;           
      Exit;                                   
    end;
  with AClass.Create(Self) do Show;           
end;

Llamada:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  MostrarChild(TMDIChild1);
end;


Un saludo.
__________________
Daniel Didriksen

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