Einzelnen Beitrag anzeigen

Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#1

Problem mit Eigenschaft Enabled

  Alt 8. Sep 2010, 21:50
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?
  Mit Zitat antworten Zitat