Proste tworzenie dynamiczne

0

Witam,
Nigdy nie próbowałem robic nic z konstruktorem ale teraz zaszła potrzeba. Chciałbym utworzyc dynamicznie np. 10 komponentów typu TPanel, ustawic we wskazane na formie miejsce i potem moc definiowac do nich zdarzenia np. onClick().

Zrobiłem cos takiego, bledow program nie wyrzuca ale nic sie nie dzieje, pewnie to głupie ale wkleje.

procedure TMainForm.BitBtn5Click(Sender: TObject);
var
  Panel : TPanel;
begin
 Panel := TPanel.Create(MainForm);
 try
  Panel.Name := 'A11';
  Panel.Left := 400;
  Panel.Top := 400;
  Panel.Width := 100;
  Panel.Height := 100;
  Panel.Color := clWhite;
  Panel.Visible := True;
  Panel.Enabled := True;
  Panel.Show;
 finally
  Panel.Free;
 end;
end;

To na razie samo konstruowanie jednego, i tak nie dziala. A co potem ze zdarzeniami itp?

0

tworzysz komponent, ustawiasz mu różne właściwości po czym od razu go zwalniasz, wywal obsługę wyjątku, wywal Free i powinno być ok, a i rodzica przypisz

0

Nie wiem co z tym rodzicem, no ale powiedzmy ze poradze sobie- to i tak nie rozwiazuje problemu zdarzenia OnClick dla panelu o tej nazwie, np. A11.

0

ad.1

Panel.Parent := MainForm;

ad.2

Panel.OnClick := MyPanelClick;

i deklarujesz procedure:

procedure MyPanelClick(Sender: TObject)

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