Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.626 Beiträge
 
Delphi 12 Athens
 
#10

AW: Zur Laufzeit Comboboxen hinzufügen

  Alt 14. Feb 2020, 14:07
Zitat:
[...] Comboboxen hinzufügen, dabei soll bei jedem weiteren Click eine neue Combobox unter der vorherigen angehängt werden.
Noch erfüllt keins der Beispiele diese Anforderung. Das Prinzip ist aber ersichtlich.
Für meins dann so in etwa... bezeichner könnten falsch sein, immer noch nur notepad..
Delphi-Quellcode:
var
  Form1: TForm1;
  cbList: TList;

implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  cbList := TList.Create;
end;

procedure TForm1.Button1Click(Sender: TObject);
var cb: TComboBox;
begin
  cb := TComboBox.Create(self);
  cb.Parent := self;
  cb.Top := (cbList.Count * (cb.Height + 3));
  // weitere eigenschaften setzen
  cbList.Add(cb);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var i: integer;
begin
// einfach mal testen ob's nötig ist, ich möchte mich nicht festlegen
  for i := 0 to cbList.Count-1 do
    TComboBox(cbList[i]).Free;
  cbList.Free;
end;
Im FormCreate Liste erzeugen und im FormClose freigeben? Viel Spaß bei der Fehlersuche. Und wie schon mehrfach erwähnt muss man die Komponenten nicht selbst freigeben, wenn man ihnen einen Owner und/oder einen Parent zugewiesen hat.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat