TSMH’s blog

多趣味人間のメモ

コンポーネントを生成する

デザインの方じゃなくて、
コードでコンポーネントを生成したいと思います。

この記事と多分いろいろ関連するので、リンクを一応w
一気に大量のオブジェクトを処理する - TSMH’s blog

ユニットファイル

作りたいコンポーネントによって変わります
今回はButtonを作ってみたいので、
uses  FMX.StdCtrls;

宣言

private
      { private 宣言 }
      Bt : Array[0..9] of TButton;

動的生成

procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
begin
  for i := 0 to 9 do
    begin
      //作成
      Bt[i] := TButton.Create(Form1);
      //パネル指定
      Bt[i].Parent := Form1;

      //大きさと位置
      Bt[i].Width := 50;
      Bt[i].Height := 20;
      Bt[i].Position.X := 30;
      Bt[i].Position.Y := 20+ i * 30;

      //テキストの内容とテキストの位置
      Bt[i].Text := IntToStr(i);
      Bt[i].TextAlign := TTextAlign.Center;
      //テキストの大きさ(スタイルは外さないと反映しないから、ご注意
      Bt[i].StyledSettings := Bt[i].StyledSettings -[TStyledSetting.Size];
      Bt[i].Font.Size := 10;

      

      //処理したいクリックのイベント
      Bt[i].OnClick := Button_Click;
    end;
end;