Mam mały problemik:
Powiedzmy, że mam button i po naciśnięciu go otwiera mi się okno modalne:
Form2.Showmodal;
na tym oknie jest też button. Co zrobić, aby po naciśnięciu go otworzyło się Form2 po raz drugi??
Mam mały problemik:
Powiedzmy, że mam button i po naciśnięciu go otwiera mi się okno modalne:
Form2.Showmodal;
na tym oknie jest też button. Co zrobić, aby po naciśnięciu go otworzyło się Form2 po raz drugi??
Sprawdź czy moja podpowiedź rozwiąże Twój problemik... [nuda]
Na pierwszej formie pod Button1Click wpisujesz:
Form2.ShowModal;
Form2.ShowModal;
Spowoduje to otwarcie Form2 drugi raz po jej zamknięciu. Nie jest to może idealne rozwiązanie, ale zawsze możesz dać
Form2.ShowModal;
w pętlę For na określoną ilość iteracji. Napisz czy to spełnia Twoje wymagania - jeśli nie, to zaradzimy.
jak chcesz, zeby mieć pare okiekek tej samej klasy, to musisz je gdzieś poprzechowywać, naprzykład na jakiej liście albo w tablicy. A pÓźniej tworzyć nie przez ShowModal, tylko swykłe Show.
var F:TForm2;
begin
F:=TForm2.Create(Application);
// Tutaj gdzieś dodawaj, żeby nie zgubić wskaźnika
F.Show;
end;
Jeszcze musisz dać, że przy zamykaniu ma być Action:=caFree;
Teraz jeszcze tak sobie myślę nad tym i doszedłem do wniosku, że:
Forma pierwsza na Button1Click:
Form2.ShowModal;
Forma druga na Button2Click:
Form2.Visible := False;
Sleep(200);
Form2.Show;
Będzie tyle razy zamykać okno, ile razy klikać będziesz na przycisk na drugiej formie.
var F:TForm2;
begin
F:=TForm2.Create(Application);
// Tutaj gdzieś dodawaj, żeby nie zgubić wskaźnika
F.Show;
end;
Pregusia, zgadzam się, że chyba najlepiej by było tworzyć tą formę dynamicznie, ale czy Ty czytałeś swój kod??
Wskaż mi klasę "TForm2", a kupię Ci skrzynkę wódki ;)
Sprawdź czy moja podpowiedź rozwiąże Twój problemik... [nuda]
Na pierwszej formie pod Button1Click wpisujesz:
Form2.ShowModal;
Form2.ShowModal;
Spowoduje to otwarcie Form2 drugi raz po jej zamknięciu. Nie jest to może idealne rozwiązanie, ale zawsze możesz dać
Form2.ShowModal;
w pętlę For na określoną ilość iteracji. Napisz czy to spełnia Twoje wymagania - jeśli nie, to zaradzimy.
oczywiście że nie spełnia, bo ja chcę mieć te okna otwarte na raz.
Wskaż mi klasę "TForm2", a kupię Ci skrzynkę wódki ;)
Pregusia, gratuluje zdobycia skrzynki wódki [browar] :-D .
unit Unit2;
//...
type
TForm2 = class(TForm) //TForm2 jako klasa potomna TForm
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2; //deklaracja Form2 jako okna klasy TForm2
//...
oczywiście że nie spełnia, bo ja chcę mieć te okna otwarte na raz.
Ludzie, alez wy macie problemy !!
Czy druga forma ma być tworzona dynamicznie ?
Jeżeli tak to dajesz np.
procedure TForm1.Button1Click(Sender: TObject);
var
Form2 : TForm2;
begin
Form2 := TForm2.Create(Form1);
Form2.ShowModal;
Form2.Free;
end;
A na drugiej formie np. :
procedure TForm2.Button1Click(Sender: TObject);
var
Form2a : TForm2;
begin
Form2a := TForm2.Create(Form2);
Form2a.ShowModal;
Form2a.Free;
end;
Wskaż mi klasę "TForm2", a kupię Ci skrzynkę wódki ;)
Pregusia, gratuluje zdobycia skrzynki wódki [browar] :-D .
unit Unit2;
//...
type
TForm2 = class(TForm) //TForm2 jako klasa potomna TForm
O cholera... Jestem chory i mam gorączkę :P
O... Widze ze skrzynka wodki będzie.... :p E... I tak nie chce, bo nie pije :p