FAQ FM
Компоненты\ComboBox

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

[Windows, MacOS] Как создать ComboBox c чекбоксами?

type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    {...}
  end;

implementation

uses
  FMX.Pickers;

procedure TForm1.FormCreate(Sender: TObject);
{$IF Defined(MSWINDOWS) or Defined(MACOS)}
var
  i, k: Integer;
  Item: TListBoxItem;
{$ENDIF}
begin
  {$IF Defined(MSWINDOWS) or Defined(MACOS)}
  ComboBox1.DropDownKind := TDropDownKind.Custom;

  Randomize;
  for i := 0 to 20 do
  begin
    k := Random(100);
    Item := TListBoxItem.Create(nil);
    Item.Parent := ComboBox1.ListBox;
    Item.Text := k.ToString;
    Item.Data := TObject(k);
    Item.IsChecked := True;
  end;
  TListBox(ComboBox1.ListBox).ShowCheckboxes := True;
  {$ENDIF}
end;

procedure TForm1.ComboBox1ClosePopup(Sender: TObject);
var
  i: Integer;
begin
  Memo1.Lines.Clear;
  for i := 0 to ComboBox1.Items.Count-1 do
    if ComboBox1.ListItems[i].IsChecked then
      Memo1.Lines.Add(ComboBox1.Items[i]);
end;

При использовании материала - ссылка на сайт обязательна