Создаем компоненты в run-time в Delphi

Сущность свойства Owner в том, что перед уничтожением владельца, он уничтожает (через Free) принадлежащие ему объекты. Таким образом, все зависит от того, кому Вы хотите доверить уничтожение созданных форм/компонентов. В частности, если Вы сами будете этим заниматься, то AOwner может быть, например, nil. Для того, чтобы созданный компонент появился на экране, надо указать его родителя, заполнив свойство Parent.

Например:

NewButton.Parent := Form1; 

Пример кода, обрабатывающего события от созданных компонентов:

type
   TForm1 = class(TForm) 
   { ... }
 
private
   { эта процедура будет вызываться при нажатии на кнопку }
   procedure ButtonClicked(Sender : TObject); 
public
   { в этой процедуре происходит создание кнопки }
   procedure CreateButton; 
end; 
   { ... }
 
procedure TForm1.CreateButton; 
var
   Btn : TButton; 
begin
   Btn := TButton.Create(Self); { Уничтожать кнопку будет форма }
   Btn.Parent := Self; { Родителем кнопки будет форма }
   Btn.OnClick := ButtonClicked; { Процедура, которая будет исполняться при }
   Btn.Visible := true; { нажатии на кнопку }
end; 
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (10 оценок, среднее: 5,00 из 5)
Загрузка...
Добавить комментарий