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' ,
Unit2 in '..\..\..\..\Archivos de programa\Borland\Delphi6\Projects\Unit2.pas' ,
Unit3 in '..\..\..\..\Archivos de programa\Borland\Delphi6\Projects\Unit3.pas' ,
Unit4 in '..\..\..\..\Archivos de programa\Borland\Delphi6\Projects\Unit4.pas' ;
{$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
public
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!