На главную

Создать компонент во время работы программы

Создать компонент во время работы программы

ОГЛАВЛЕНИЕ    HOME  MAIL



Для создания компонента во время работы программы нужно вызвать метод Create и присвоить свойству Parent компонент или окно, на котором должен оказаться создаваемый компонент. Для обработки событий нужно создать процедуру с точно такими же параметрами, как создает Delphi. Например, объявление процедуры для обработки события кнопки OnClick должно выглядеть так:

procedure TForm1.ProcName(Sender: TObject)
Вместо ProcName можно поставить любое другое имя. А при создании компонента нужному событию нужно присвоить эту процедуру:

Button1.OnClick := ProcName
Эта программа при нажатии на кнопку создает CheckBox. Поскольку cb лишь адрес компонента, то при исчезновении переменной компонент остается. При нажатии на ChecBox появляется сообщение с названием компонента и состоянием флажка.
...
private
  procedure ChBoxClick(Sender: TObject);
...

{$R *.DFM}

procedure TForm1.ChBoxClick(Sender: TObject);
begin
  ShowMessage((Sender as TComponent).Name + ': ' +
    IntToStr(integer((Sender as TCheckBox).Checked)));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  cb: TCheckBox;
begin
  randomize;
  cb := TCheckBox.Create(nil);
  cb.Name := 'CheckBox' + IntToStr(random(100));
  cb.Left := random(300);
  cb.Top := random(300);
  cb.OnClick := ChBoxClick;
  cb.Parent := Form1;
end;

главная страницазадать вопрос
email: delphi4all@narod.ru
Hosted by uCoz