Skocz do zawartości

[Delphi] Z formy do formy


Sianoo

Polecane posty

Nie wiem, czy o to Ci chodzi.

Możesz sobie zaprojektować kolejną formę i uruchamiać ją np. po naciśnięciu przycisku na pierwszej.

 

unit Unit1;

interface

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

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);
begin
     form2:=TForm2.Create(form1);
 	form2.Show;
end;

end.

 

I teraz w menu wybierasz "Project" = "Options...", wcodzisz w zakładkę "Forms"

a następnie przenosisz otwierane dynamicznie formy z lewego okienka do prawego.

 

Jeszcze, żeby zwolnić pamięć przy zamykaniu napisz w Unit2 taką procedurę

 

unit Unit2;

interface

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

type
 TForm2 = class(TForm)
procedure FormClose(Sender: TObject; var Action: TCloseAction);
 private
{ Private declarations }
 public
{ Public declarations }
 end;

var
 Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=caFree;
form2:=nil;
end;

end.

 

P.S.

Sorry za małą czytelność, ale nie mogę wykombinować, jak się wstawia kod...

Link do komentarza
Udostępnij na innych stronach

  • 1 month later...

Domyślnie po utworzeniu nowego projektu twój główny formularz nazywa się Form1. Po utworzeniu nowego formularza (domyślnie Form2) możesz w ustawieniach projektu określić, czy formularze mają być tworzone zaraz po uruchomieniu programu czy też zostaną utworzone dynamicznie poprzez odpowiedni kod. Jeśli przeniesiesz formularz Form1 do lewego okna a Form2 do prawego okna w ustawieniach projektu, wówczas po uruchomieniu programu wyświetli się formularz Form2. Aby programowalnie wywołać formularz Form2 dodajesz go do sekcji (dyrektywy) uses (chodzi o nazwę pliku źródłowego formularza, np. Unit2) a następnie piszesz następujący kod np. w zdarzeniu OnClick przycisku:

 

Form2 := TForm2.Create(Self);
try
 Form2.ShowModal;
finally
 Form2.Free;
end;

 

Nie napisałeś tylko, czy chodzi ci o zwykłe wyświetlanie innych formularzy czy też o programowanie aplikacji MDI

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...