Sianoo Napisano Luty 1, 2012 Zgłoś Share Napisano Luty 1, 2012 Witam, Mam takie pytanko. Jak przejść z jednej formy do drugiej i jak ustalić, aby przy uruchomieniu programu wyświetlała się tylko jedna forma? Link do komentarza Udostępnij na innych stronach More sharing options...
jozekkg Napisano Luty 3, 2012 Zgłoś Share Napisano Luty 3, 2012 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 More sharing options...
Steradian Napisano Marzec 7, 2012 Zgłoś Share Napisano Marzec 7, 2012 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 More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.