john230873
Programmer
I have started to write a new component that I want to check its parents colour every 5 second to match it. Instead of having a timer in the main program I thought I would write it in the component. Question if I was to add a TTimer component to the main form I would double click on the TTimer for its trigger to be automactilly set up. BUT how do I get it to trigger if I have it create its self at runtime. Heres my code so far how would I go about actioning the TTimerTimer procedure at run time.
unit ImagePanel;
interface
uses
SysUtils, Classes, Controls, ExtCtrls;
type
TImagePanel = class(TPanel)
private
{ Private declarations }
constructor Create (AOwner : TComponent); override;
procedure CreateWnd ; override;
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
var
PictureImage : TImage;
procedure Register;
begin
RegisterComponents('Samples', [TImagePanel]);
end;
constructor TImagePanel.Create (AOwner : TComponent);
begin
inherited Create (AOwner);
end;
procedure TImagePanel.CreateWnd;
begin
inherited CreateWnd;
Caption := '';
Timer1 :=TTimer.Create(self);
Timer1.Parent := self;
end;
unit ImagePanel;
interface
uses
SysUtils, Classes, Controls, ExtCtrls;
type
TImagePanel = class(TPanel)
private
{ Private declarations }
constructor Create (AOwner : TComponent); override;
procedure CreateWnd ; override;
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
var
PictureImage : TImage;
procedure Register;
begin
RegisterComponents('Samples', [TImagePanel]);
end;
constructor TImagePanel.Create (AOwner : TComponent);
begin
inherited Create (AOwner);
end;
procedure TImagePanel.CreateWnd;
begin
inherited CreateWnd;
Caption := '';
Timer1 :=TTimer.Create(self);
Timer1.Parent := self;
end;