Ver Mensaje Individual
  #1  
Antiguo 25-09-2008
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Reputación: 16
noob Va por buen camino
Un formulario principal y varios secundarios en una aplicación

Tengo una aplicación con un formulario principal que tiene un menú principal que tiene tres items: Ver Form1, Ver Form2 y Ver Form3

Cuando yo pulso en "Ver Form1" quiero que aparezca un formulario en modo modal que he hecho a parte, y así con los demás items del menú principal.

No se si la forma correcta de hacerlo es la que he hecho. Os pongo mi code a ver qué os parece:

Código Delphi [-]
program Project1;
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in '..\..\..\..\Archivos de programa\Borland\Delphi6\Projects\Unit2.pas' {Form2},
  Unit3 in '..\..\..\..\Archivos de programa\Borland\Delphi6\Projects\Unit3.pas' {Form3},
  Unit4 in '..\..\..\..\Archivos de programa\Borland\Delphi6\Projects\Unit4.pas' {Form4};
{$R *.res}
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm4, Form4);
  Application.Run;
end.

Código Delphi [-]
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus;
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    VerForm11: TMenuItem;
    VerForm21: TMenuItem;
    VerForm31: TMenuItem;
    procedure VerForm11Click(Sender: TObject);
    procedure VerForm21Click(Sender: TObject);
    procedure VerForm31Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
procedure TForm1.VerForm11Click(Sender: TObject);
var
 Modal: TForm2;
begin
 Modal := TForm2.Create (Application);
 try
  Modal.ShowModal;
 finally
  Modal.Free;
 end;
end;
procedure TForm1.VerForm21Click(Sender: TObject);
var
 Modal: TForm3;
begin
 Modal := TForm3.Create (Application);
 try
  Modal.ShowModal;
 finally
  Modal.Free;
 end;
end;
procedure TForm1.VerForm31Click(Sender: TObject);
var
 Modal: TForm4;
begin
 Modal := TForm4.Create (Application);
 try
  Modal.ShowModal;
 finally
  Modal.Free;
 end;
end;
end.

El código de Unit2, Unit3 y Unit4 no lo pongo porque son simplemente formularios vacíos.

Digo que si es así porque no entiendo por qué en el archivo dpr tenemos las líneas:

Código:
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm4, Form4);
ya que no quiero que se creen nada más arrancar el programa sino cuando yo pulse en los diferentes items de los submenús.

Thanks!
Responder Con Cita