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;
procedure TProperties.SetDisabledColor(const Value: TColor);
begin
if Value <> FDisabledColor then
begin
if not enabled then FDisabledColor := Value
end;
end;
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!!