Einzelnen Beitrag anzeigen

AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
246 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zur Laufzeit Comboboxen hinzufügen

  Alt 14. Feb 2020, 09:35
Es gibt zwei Möglichkeiten.

1. Wenn, wie bei deinem anderen Thread, die Anzahl der möglichen Comboboxen limitiert ist, kannst du sie wie da schon vorher im Designermodus auf die Form legen und dann nach und nach sichtbar schalten.

2. Ist dies nicht der Fall, so musst du mit dynamischen Komponenten arbeiten, d.h. du kreierst die Comboboxen zur Laufzeit selbst.

Dies sähe z.B. so aus:

Code:
Procedure KreiereComboBox;
Var ACombobox : TComboBox;

Begin
AComboBox := TComboBox.Create(GroupBox1);
AComboBox.Parent := GroupBox1;
AComboBox.Height := 14;
AComboBox.Width := 50;
AComboBox.Left  := 5;
AComboBox.Top   := 10;

AComboBox.Items.Add('Bla');
AComboBox.Items.Add('Bla');
AComboBox.Items.Add('Bla');
AComboBox.ItemIndex := 0;

AComboBox.Name    := 'XYZComboBox';
AComboBox.OnChange := BlaBlaBlubChange;
End;
Im Prinzip kreierst du die ComboBox als Variable und modifizierst sie so wie du sie brauchst, also Items einfügen, Größe und Position festlegen, Ereignisse verknüpfen etc.

Willst du später auf diese ComboBoxen nochmal zugreifen, ist es am sinnvollsten, diese dynamisch erzeugten Comboboxen z.B. in einer Liste abzuspeichern, um einen einfachen Zugriff zu haben, da diese im Gegensatz zum im Designer erzeugten Komponenten nicht direkt ansprechbar sind.

Geändert von AuronTLG (14. Feb 2020 um 12:02 Uhr) Grund: Parent vergessen
  Mit Zitat antworten Zitat