Создание массива компонентов во время выполнения

WinHack

Администратор
23 Фев 2015
2,664
1,913
bsfo.ru
В этом примере используется TLabel в качестве примера, чтобы создать массив компонентов TLabel и присвоить им свойство Caption, а также установить другие свойства этих компонентов, таких как Top, Left, Width и других. С таким же успехом можно использовать любой компонент Delphi, чтобы создавать массивы компонентов во время выполнения приложения, написанного на Delphi.

Код:
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  // определяем массив компонентов
  Labels: array[1..8] of TLabel;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  x, y: integer;
begin
  y:=0;
  // в цикле добавляем компоненты
  for x:= 0 to Length(Labels) - 1 do
  begin
    y:= y + 30;
    Labels[x]:= TLabel.Create(Self);
    Labels[x].Left:= 25;
    Labels[x].Top:= y;
    Labels[x].Width:= 60;
    Labels[x].Caption:= 'Label ' + IntToStr(x);
    Labels[x].Parent:= Self;
  end;
end;