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;

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