Jakas skleroza czy co... Mam Form1 i Form2. Form2 ma ustawione BorderStyle := bsSizeable, BorderIcons := [biSystemMenu,biMinimize,biMaximize] i FormStyle := fsNormal. Teraz z Form1 wywoluje Form2.ShowModal, ale jak zmaksymalizuje wywolany w ten sposob Form2 i potem go zamkne, to po ponownym otwarciu nie mozna przywrocic go z pelnego ekranu do poprzednich rozmiarow. Przy zastosowaniu zwyklego Show problemu oczywicie nie ma. Kiedys juz cos takiego mialem i nie pamietam jak sobie radzilem. W ostatecznosci moge w OnClose dac FormState := fsNormal, ale wtedy forma mi "frunie" przed zamknieciem do poprzedniego rozmiaru i nie bardzo mnie to satysfakcjonuje. Jak ktos ma jakis pomysl to bym prosil o podpowiedz.
0
0
W OnClose
Form.Hide;
FormState:=fsNormal;
Działa. Testowałem na 7.0 Personal.
0
Zmienilem FormState na WindowState (bo FormState jest read only) i lipa, jest to samo. Dodam jeszcze ze do tego wszystkiego potrzebuje wlasciwosci zwracanej przez ShowModal (ModalResult).
0
Sorki, mój błąd. To powinno być FormStyle.
0
Zmiana nic nie dala, nadal okno zachowuje sie jak poprzednio.
0
A to ciekawe, bo u mnie przy takim kodzie:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
hide;
formStyle:=fsNormal;
end;
zachowuje się poprawnie. Przywołane po zamknięciu zmaksymalizowanego też normalnie działa :?
0
No wlasnie nie. Tak jakby gubil gdzies rozmiar okna po drodze... Mam Delphi 2005 Architect.
0
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
hide;
formStyle:=fsNormal;
form1.mr:=0; //mr w publicznych najlepiej
end;
Przu dodaniu ModalResult się wywala, a właściwie zapętla. Jeśli potrzebujesz infa na temat sposobu zakończenia okna to podaj prze jakąś zmienną do formy1.