Problem z komponentami na formie dynamicznej

0

Witam

Mam może i błahy, banalny problem, ale niestety nie mogę znaleźć jego przyczyny. A mianowicie, tworze sobie dynamiczną formę, czyli po prostu:

if not Assigned(Form2) then begin
     Form2 := TForm2.Create(Form1);
     Form2.Show;
     end;

Na tejże formie mam wstawione ProgressBary i wszystko gra, ale jak już wstawiam inne komponenty np. jakiś Label lub Button, czy StaticText to po uruchomieniu programu i wygenerowaniu Form2, nie widać ich - tylko same paski postępu. Kombinowałem na wszystkie możliwe sposoby w Properties i Form2 i tych komponentów i nic - dalej ich nie widać.

Proszę mnie oświecić, bo jestem pewien że to naprawdę coś prostego, ale niestety nie umiem znaleźć przyczyny. Na forum nie znalazłem wątku, który by to poruszał taki kłopot.

p.s. pracuje na Delphi 7 Personal.
Pozdrawiam forumowiczów.

0

Upewnij się że ustawiasz właściwość Parent nowych komponentów np.

  labelek := TLabel.Create(Form1);
  labelek.Parent := Form1; //koniecznie !!!
  labelek.Caption := "Hello world"; 
0

Dzięki. ok, zrobiłem wg wskazówki (ustawiłem rodzica):

procedure TForm2.FormCreate(Sender: TObject);
begin
btn:=TButton.Create(Self);
     with btn do begin
       Height:=49;
       Left:=208;
       Top:=8;
       Width:=57;
       Parent:=Self;
       Caption:='KAPA';
       Visible:=True;
      end;
btn.Show; //też nic nie daje
end;

I najlepsze to jest to że nie hula tak jak powinno, bo przy stworzeniu formy widać tylko w miejscu tego przycisku białe tło - dziwne?! A gdy podstawiłem Form1 jako rodzica to przycisk normalnie wygląda na bazowej formie.

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