folgendes problem, ich leite eine klasse von TCustomControl ab
Delphi-Quellcode:
type
TZustand = (zOn, zOut);
TBrandmeldung = class(TCustomControl)
private
FZustand:TZustand;
protected
public
constructor Create(Aowner :TComponent); override;
destructor Destroy; override;
procedure Paint; override;
property Zustand: TZustand read FZustand write FZustand ;
end;
als nächstes leite ich von diser klasse ab;
Delphi-Quellcode:
type
TMelderTyp = (mThermisch, mOptisch, mMulti);
TMelder = class(TBrandmeldung)
private
public
constructor Create(Aowner: TComponent); override;
destructor Destroy;override;
procedure Paint;override;
procedure MouseDown(Button:TMouseButton;Shift: TShiftState;x,y:Integer);override;
procedure MyClick(Sender :TObject);
property Onclick;
end;
wenn ich nun einen klick auf die TMelderKlasse mache, um den zustand zu ändern, muss ich 3 mal klicken, bis der zustand- in gestalt einer anderen farbe - sich ändert.
wo liegt mein fehler?
zum test habe ich mousedown überschrieben und dort das onclick ereignis zugewiesen. in myclick ändere ich nur den status - wenn zon ,dann zout und umgekehrt.