Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   MDIChild y MainMenu (https://www.clubdelphi.com/foros/showthread.php?t=73623)

Lenny 05-05-2011 16:00:59

MDIChild y MainMenu
 
Hola estimados, tengo un pequeño problema, les agradesco de antemano cualquier ayuda...
Tengo unas Form's MdiChild cada cual con su MainMenu, todo ok hasta ak, pero cuando habro el Form desde el MainMenu me repite el mismo Form por cada vez que ingreso y no lo coloca en primer lugar como deveria. El codigo que utilizo funiona bien desde un Button, el cual es este:

Código Delphi [-]
procedure TPRODUCTOS.Clientes1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to Pred(MDIChildCount) do
    if MDIChildren[i] is TCLIENTES then
    begin
      MDIChildren[i].BringToFront;
      Exit
    end;
  with TCLIENTES.Create(Application) do
  begin
    FormStyle := fsMDIChild;
    OnClose := AlCerrar;
    Show
  end
end;

Cualquier ayuda bienvenida sea, de antemano gracias...

PD: Utilizo Delphi 2010, Zeos, MySql, Windows 7...

ecfisa 05-05-2011 17:12:06

Hola Lenny.
Cita:

pero cuando habro el Form desde el MainMenu me repite el mismo Form por cada vez que ingreso y no lo coloca en primer lugar como deveria
No entiendo bién cuál es el problema, probé el código que adjuntaste y no abre dos veces el mismo MDIChild, pero como te digo no sé si ese es tu problema...

Si tenés mas de un MDIChild para llamar te convendría hacer un procedimiento para mostrarlos.
Ejemplo:
Código Delphi [-]
procedure TForm1.MostrarChild(AClass: TFormClass);
var
  i: Integer;
begin
  for i:= 0 to MDIChildCount -1 do
   if MDIChildren[i] is AClass then
   begin
     MDIChildren[i].BringToFront;
     MDIChildren[i].WindowState:= wsNormal;
     Exit;
   end;
  AClass.Create(nil);
end;

// Llamada
procedure TForm1.Button1Click(Sender: TObject);
begin
  MostrarChild(TForm2);
end;
Y en el evento OnClose de cada MDIChild poner:
Código Delphi [-]
 Action:= caFree;


Saludos.

Lenny 05-05-2011 17:41:21

Seeee... a mi tambien me parece extraño, checare lo que me dices y te cuento, muchas gracias!!


La franja horaria es GMT +2. Ahora son las 02:07:10.

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