Criando componentes de forma dinâmica
Pequeno exemplo de como criar componente de forma dinâmica, no caso criando 10 TCheckBox, TEdit e TSpeedButton.
Adicione um botão na tela, e no evento OnClick faça:
procedure TForm1.BitBtn1Click(Sender: TObject); var x: integer; begin for x:=1 to 10 do begin with TCheckBox.Create(Self) do begin Parent:=Self; Top:=10 + (x 22); Left:=50; Caption:='Check Box' + IntToStr(x) + ':'; Name:='ckb_' + IntToStr(x); end; with TEdit.Create(Self) do begin Parent:=Self; Top:=10 + (x 22); Left:=150; Caption:='Edit' + IntToStr(x); Name:='edt_' + IntToStr(x); end; with TSpeedButton.Create(Self) do begin Parent:=Self; Caption:='...'; Top:=10 + (x * 22); Left:=270; Flat:=True; Hint:='btn_' + IntToStr(x); ShowHint:=True; Name:='btn_' + IntToStr(x); OnClick:=ExecutaClick; end; end; end;
Crie uma procedure da seguinte forma:
procedure TForm1.ExecutaClick(speed: TObject); begin ShowMessage(PChar('Você apertou o ' + TSpeedButton(speed).Hint)); end;Esta procedure no caso serve tb de forma dinâmica para o evento OnClick dos TSpeedButton criados dinâmicamente...
Sendo que é uma base de como criar, para os demais componentes mudam poucas coisas...
Discussão (12)
Carregando comentários...