|
|
|
|
Как
правильно создавать компоненты в run-time? Что задавать в качестве параметра
Owner при создании компоненты? Как обрабатывать события от созданных
компонент, типа нажатий на кнопки?
Начнем с создания.
Сущность свойства 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;
|
Copyright ©
"Мастера DELPHI" E-mail:
delphi@mastak.com
http://www.delphimaster.ru |
Источник получения информации: http://www.delphimaster.ru
|
|