15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту




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

При создании визуальных контролов в runtime, важным моментом является назначение родительских свойств и использование метода SetBounds, чтобы этот контрол стал видимы.


type
  TForm1 = class(TForm)
  protected
    MyLabel: TLabel;
    procedure LabelClick(Sender: TObject);
    procedure CreateControl;
  end;


procedure TForm1.LabelClick(Sender: TObject);
begin
  (Sender as Label).Caption := ...
end;


procedure TForm1.CreateControl;
var
  ALeft, ATop, AWidth, AHeight: Integer;
begin
  ALeft := 10;
  ATop := 10;
  AWidth := 50;
  AHeight := 13;
  MyLabel := TLabel.Create(Self);
  MyLabel.Parent := Self;      
  MyLabel.Name:='LabelName';
  MyLabel.SetBounds(ALeft, ATop, AWidth, AHeight);
                                                
  MyLabel.OnClick := LabelClick;
end;