¿Por qué no simplemente publicas toda la subcomponente?
Código Delphi
[-]
type
TMiControl = class(TCustomControl)
private
FEdit: TEdit;
procedure SetEdit(Value: TEdit);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property Edit: TEdit read FEdit write SetEdit;
end;
implementation
constructor TMiControl.Create(AComponent: TComponent);
begin
inherited;
FEdit := TEdit.Create(Self);
FEdit.Parent := Self;
FEdit.SetSubComponent(true);
end;
destructor TMiControl.Destroy;
begin
FEdit.Free;
inherited;
end;
procedure TMiControl.SetEdit(const Value: TEdit);
begin
FEdit.Assign(Value);
end;
De esta manera la propiedad Edit aparecerá en el inspector de objetos similar, por ejemplo, a la propiedad Font del formulario: con un + a la izquierda que al expandirlo mostrará todas las propiedades de la componente Edit.
Esto lo acabo de probar en Delphi7. Creo recordar que en Delphi6 había algún problema con SetSubComponent.
// Saludos