Ver Mensaje Individual
  #8  
Antiguo 18-09-2007
Avatar de paldave
paldave paldave is offline
Miembro
 
Registrado: ago 2007
Ubicación: Uruguay
Posts: 148
Reputación: 17
paldave Va por buen camino
Si, no es tan complicado.
Primero en propiedades del proyecto pones que solo el Form Principal (el MDI) se cree automáticamente, los otros no.
Luego los vas creando desde código, como si se tratara de variables (lo digo así para que entiendas más claro, en realidad recuerda que son objetos), sería algo así:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit3, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var f:TForm3;
begin
  f:=TForm3.Create(Application);
  f.Show;
end;

end.
en este caso el MDIForm se llama Form1, ubicado con su Unit1 y el MDIChild se llama Form3, con su Unit3.
Observa que debes incluir Unit3 en Uses.
Si quieres que los MDIChild se cierren en vez de minimizarse al clickear el botón cerrar (como es lo predeterminado) asigna este código al evento OnClose del MDIChild:
Código Delphi [-]
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=caFree;
end;
Responder Con Cita