Ich würde sagen nihm als Klasse auf jedenfall TGraphicControl. Dort gibt es eine Standardprozedur namens Paint. Die wird immer ausgeführt wenn es neu gezeichnet wird. Du kannst dan auch wenn du kein Bitmap verwenden willst direkt mit der Eigenschaft Canvas machen, da TGraphicControl es bereits besitzt.
Ich würd dir dann empfehlen die Prozedure zu überschreiben und dann dort deine Zeichnen Prozedure einzubauen. (Aber trotzdem die OnTimer Event lassen):
Das mit DoOptionsChange und OnOptionsChange soll das ein eigenes Event sein? Also was nicht in den Klassen davor schon vorhanden ist sein?
Wenn es ein eigenes Event sein soll ist dies in der Form richtig.
Das würde dann so aussehen:
Delphi-Quellcode:
TAnalogUhr = class(TGraphicControl)
private
//...
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
procedure Paint; override;
//......
published
//......
end;
procedure Register;
Var iI: Integer;
implementation
//........
procedure TAnalogUhr.Paint;
begin
Uhr;
end;
//.......