Wątek przeniesiony 2015-08-03 18:40 z Delphi i Pascal przez furious programming.

Przechodzenie z formatki do formatki

0

Witam.
Mam na kilku formatkach rozpisane kilka części programu. Na jednej formatce mam powiedzmy ekran główny a po kliknięciu "Nowa gra" przenosi mnie do innego okna z wyborem poziomu gry. Czy istnieje możliwość żebym za pomocą na przykład Buttona przechodził z jednej formatki do drugiej? Z góry dziękuję za odpowiedź.

3

Oczywiście, że istnieje taki sposób, ale zależy on od tego, czy ten drugi formularz tworzony jest automatycznie, czy dynamicznie; No i ważne też jest to, jak ma się zachować główny formularz - czy ma być aktywny, czy zablokowany, czy pokazany, czy też ukryty;

Zwykle okna dialogowe otwiera się modalnie, czyli blokując formularz wywołujący to okno; Taki efekt uzyskasz wywołując metodę ShowModal z obiektu drugiego formularza; Kod zapisujesz w zdarzeniu OnClick przycisku, znajdującego się na głównym formularzu; Po zamknięciu okna dialogowego (drugiego formularza) - główny formularz zostaje automatycznie odblokowany;

Jeśli drugi formularz tworzony jest automatycznie, to wywołaj odpowiednią jego metodę:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.ShowModal();
end;

Natomiast jeśli nie jest on tworzony automatycznie przy rozruchu aplikacji - musisz go najpierw utworzyć, a dopiero potem wywolać metodę pokazującą formularz:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2 := TForm2.Create(Self);
  try
    Form2.ShowModal();
  finally
    Form2.Free();
  end;
end;

Jeżeli nie chcesz, aby główny formularz był blokowany - zamiast ShowModal użyj metody Show.

0

Dziękuję bardzo serdecznie za wyczerpującą odpowiedź. Teraz już wszystko wiem :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1