Delphi如何用代码创建一个控件

Delphi怎么用代码创建一个控件
比如我要给程序加一个 Timer 控件,不是从控件栏里直接拖,用代码怎么添加? 事件怎么写
------解决思路----------------------
给一个动态创建Label的例子参考,Label用的是数组

type
  TTestForm=class(TForm)
    procedure btnClick(Sender:TObject); 

   {FormCreate事件中增加}
    LabelArry[i].Parent:=self;
    LabelArry[i].Left:=SimKJZB[i][0];
    LabelArry[i].Top:=SimKJZB[i][1];
    LabelArry[i].Width:=30;
    LabelArry[i].Height:=73;
    LabelArry[i].AutoSize:=False;
    LabelArry[i].Name:='lb'+inttostr(i+1);
    LabelArry[i].Caption:='';
    LabelArry[i].Transparent:=True;
    LabelArry[i].Cursor:=crHandPoint;
    LabelArry[i].Color:=clBlack;
    LabelArry[i].Tag:=1;
    LabelArry[i].Hint:='开/关';
    LabelArry[i].ShowHint:=True;
    LabelArry[i].Visible:=True;
    LabelArry[i].OnClick:=btnClick;


procedure TSimulateForm.btnClick(Sender:TObject);
begin
  {Label单击事件}
end;

------解决思路----------------------
var
Timer :Ttimer;
begin
  Timer := TTimer.create(nil)
end;