如何以编程方式添加 ListBoxItem?

How can I add a ListBoxItem programmatically?

我只能通过单击组件 -> Items Editor.

找到如何创建 ListBoxItem

我们如何使用 Firemonkey 以编程方式创建 ListBoxItem

假设 ListBoxItem 是名为 ListBox1 的现有 TListBox 组件的一个项目,可以这样添加该项目:

ListBox1.Items.Add('an item name');

备选方案:

var
  id: Integer;

  . . .

  ListBox1.Items.AddObject('an item name', TObject(id));

编辑 请注意,仅当基础列表未排序时,才必须将此方法视为有效。

只需创建列表框项,并将其添加到列表框:

var
  ListBoxItem: TListBoxItem;
begin
  ListBoxItem := TListBoxItem.Create(ListBox1);
  ListBoxItem.Text := 'foo';
  // set other properties of the list box item at this point
  ListBox1.AddObject(ListBoxItem);
end;

我在 ComboBox 中创建了 ListBoxItem 并添加了一些额外的细节:

var
    LBoxItem : Array [1..50] of TListBoxItem;

procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
begin
  for i := 1 to 10 do
  begin
    LBoxItem[i] := TListBoxItem.Create(ComboBox2);
    LBoxItem[i].Parent := ComboBox2;
    LBoxItem[i].Text := 'LBox'+IntToStr(i);
    LBoxItem[i].Font.Size := 18;
    LBoxItem[i].StyledSettings := [];
    LBoxItem[i].Height := 20;
  end;
end;