unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
var
Etykieta:TEtykieta;
procedure TForm1.FormCreate(Sender: TObject);
begin
Etykieta:=TEtykieta.Create(Form1);
Etykieta.Left:=250;
Etykieta.Top:=250;
Etykieta.OnClick:=Etykieta.KlikniecieEtykiety;
Form1.InsertControl(Etykieta);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Etykieta.Free;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TEtykieta=class(TLabel)
public
procedure KlikniecieEtykiety(Sender:TObject);
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
end;
implementation
constructor TEtykieta.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
Caption:='Kliknij tu';
end;
destructor TEtykieta.Destroy;
begin
inherited Destroy;
end;
procedure TEtykieta.KlikniecieEtykiety(Sender:TObject);
begin
Caption:='Kliknięcie obslużone';
end;
end.
I wszystko śmiga. Nazwa nie ma tu nic do rzeczy.