Ver Mensaje Individual
  #1  
Antiguo 28-06-2018
_CALI _CALI is offline
Miembro
 
Registrado: mar 2008
Posts: 99
Reputación: 17
_CALI Va por buen camino
acceder a propiedades desde propiedades agrupadas Tpersistent

Buenas, estoy creando un control personalizado que deriva de la clase TEdit, he incluido propiedades agrupadas que estan en otra
clase del tipo TPersistent, dichas propiedades necesitan acceder a las propiedades de la clase "host" que deriva del TEDit

Código Delphi [-]
type
 TProperties = class(TPersistent)
 private
     FDisabledColor: TColor;
     ...
 procedure SetDisabledColor(const Value: TColor);
 public
 published
   property DisabledColor: TColor read FDisabledColor write SetDisabledColor default clGray;
   ...
 end;


type
 TMiEdit = class(TEdit)
  private
    FProperties : TProperties;
  
 protected
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Properties: TProperties read FProperties write FProperties;
  end;


procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('MisControles', [TMiEdit]);
end;

{ TProperties }

procedure TProperties.SetDisabledColor(const Value: TColor);
begin
 if Value <> FDisabledColor then
    begin
    if not enabled then //<----aqui quiero acceder a la propiedad ENABLED de mi clase TMiEdit.
       FDisabledColor := Value
    end;

end;




{ TMiEdit }

constructor TMiEdit.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FProperties := TProperties.Create;
  FProperties.FDisabledColor := clGray;
end;

destructor TMiEdit.Destroy;
begin
  FProperties.Free;
  inherited Destroy;
end;



end;

end;

Gracias de Antemano!!

Última edición por _CALI fecha: 28-06-2018 a las 16:07:20.
Responder Con Cita