Hallo zusammen,
ich habe mir eine Button-Component erstellt, abgleitet von TAdvGlowButton.
In dieser Component möchte ich das setzen von Enabled kontrollieren.
Mein Code sieht wie folgt aus:
Delphi-Quellcode:
unit MyButton;
interface
uses
SysUtils, Classes, Controls, AdvGlowButton, graphics;
type
TMyButton =
class(TAdvGlowButton)
private
fEnabled : Boolean;
fNewEnabled : Boolean;
procedure SetEnabled( Value : Boolean );
procedure SetNewEnabled( Value : Boolean );
{ Private declarations }
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent);
override;
destructor Destroy;
override;
{ Public declarations }
published
property Enabled : Boolean
read fEnabled
write SetEnabled;
property NewEnabled : Boolean
read fNewEnabled
write SetNewEnabled;
{ Published declarations }
end;
procedure Register;
implementation
uses
Dialogs;
procedure Register;
begin
RegisterComponents('
MYC', [TMyButton]);
end;
{ TMyButton }
constructor TMyButton.Create(AOwner: TComponent);
begin
inherited;
fNewEnabled := True;
end;
destructor TMyButton.Destroy;
begin
inherited;
end;
procedure TMyButton.SetNewEnabled( Value : Boolean );
begin
fNewEnabled := Value;
end;
procedure TMyButton.SetEnabled( Value : Boolean );
begin
If fNewEnabled
then
fEnabled := value
else
fEnabled := False;
end;
end.
Wenn ich nun Enbaled setze hat das keine Auswirkungen mehr (Component wird nicht ausgegraut). Was mach ich falsch?