Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: Zur Laufzeit Comboboxen hinzufügen
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
|