unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TMojPanel=class(TPanel)
  private
    {brak}
  public
    pLiczba: Integer;
    pNapis: TLabel;
    pFigura: TShape;
    constructor Create(Owner: TComponent); override;
  //  procedure Powieksz(Sender:TObject);
  end;

var
  Form1: TForm1;
  MojObiekt: TMojPanel;
  Licznik: Integer=1;
  przes: Integer;

implementation

{$R *.dfm}

constructor TMojPanel.Create(Owner: TComponent);
begin
   inherited Create(Owner);//inicjacja elementow dziedziczonych
   Color:=clWhite;
   Width:=100;
   Height:=100;
   Left:=przes;

   pFigura:=TShape.Create(Self);
   pFigura.Parent:=Self;
   pFigura.Width:=80;
   pFigura.Height:=80;
   pFigura.Shape:=stCircle;
   pFigura.Brush.Color:=clRed;
   pFigura.Top:=(Height-pFigura.Height)div 2;
   pFigura.Left:=(Width-pFigura.Width)div 2;

   pLiczba:=Licznik;
   pNapis:=TLabel.Create(Self);
   pNapis.Parent:=Self;
   pNapis.Caption:=InttoStr(pLiczba);
   Inc(Licznik);
   pNapis.Font.Size:=36;
   pNapis.Font.Color:=clWhite;
   PNapis.Font.Style:=[fsBold];
   pNapis.Top:=(Height-pNapis.Height)div 2;
   pNapis.Left:=(Width-pNapis.Width)div 2;
   pNapis.Transparent:=true;
   przes:=przes+width;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
//  if MojObiekt<>nil then MojObiekt.Free;
  MojObiekt:=TMojPanel.Create(Self);
  MojObiekt.Parent:=Self;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  MojObiekt.Free; MojObiekt:=nil;
end;

end.
