Sprawa jest bardzo prosta (przynajmniej w zakresie opisywania problemu, nie wiem, czy rozwiązanie też będzie także trywialne).
Kod wygląda następująco:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2:= TForm2.Create(Form1);
//Form2.Parent:= Form1;
Form2.Show;
end;
Jeśli linia numer 4 jest zakomentowana, czyli nie wskazujemy rodzica, to Form2
nie jest ograniczona do obszaru okna Form1
, ale jednocześnie jest tak samo ostylowane, jak Form1
- w sposób zgodny z wyglądem Windows 10.
Jeśli jednak chcę "zamknąć" drugie okienko w pierwszym, to usuwam komentarz i wskazuję rodzica. Wtedy wprawdzie nie ma możliwości wyjechania przez Form2
poza obszar Form1
, ale efektem ubocznym jest zmiana stylu okna-dziecka. Widać to na drugim screenie.
Próbowałem cwaniakować i podmienić wartość parent
podczas działania, ale niczego to nie zmieniło. W chwili przełączania okienko na ułamek sekundy znika, a potem pojawia się już z nowym wyglądem.
Pytanie - czemu tak się dzieje i czy mogę coś z tym zrobić?