> boa noite.
> Ajudou bastante.
> Conforme outro amigo no grupo, funcionou bem.
> Porém se eu alterar manualmente estas propriedades o form assume as
configurações manuais. Eu queria que forçasse para pegar os valores que
estão nos componentes.
> abraços!

Bom dia,

Neste caso o que ocorre que é as propriedades do formulário que são
utilizadas são as que foram atualizadas por último. Fiz uma pequena
alteração e desta vez você pode utilizar a função SetForm do componente no
evento Create do seu formulário.

Caso você queira alterar automaticamente, sem ter que chamar o "SetForm",
pode ser acrescentado um propriedade no componente que você altere em tempo
de projeto e, mesmo assim, a regra prevalece: A última alteração é a que vai
valer.

Saudações,

Cristiano R F Maciel 

Segue o novo código abaixo:
///////////////////////////////////////////////
unit FormDefault;

interface

uses
  Classes, Forms;

type
  TFormDefault = class(TComponent)
  private
    FForm: TForm;
  public
    procedure SetForm;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    constructor Create(AOwner: TComponent); override;
  end;

procedure Register;

implementation

procedure Register;
  begin
    RegisterComponents('Ramos', [TFormDefault]);
  end;

procedure TFormDefault.SetForm;
  begin
    // para evitar um erro, se a variável FForm não foi setada sair do
método
    if (FForm = nil) then Exit;

    // propriedades
    FForm.BorderStyle:= bsDialog;
    FForm.Caption:= 'Este é apenas um pequeno exemplo...';
    // posição
    FForm.Top:= 0;
    FForm.Left:= 0;
    FForm.Height:= 300;
    FForm.Width:= 300;
    // eventos
    FForm.OnClose:= FormClose;
  end;

procedure TFormDefault.FormClose(Sender: TObject; var Action: TCloseAction);
  begin
    // liberar o formulário da memória
    Action:= CAFree;
  end;
  
constructor TFormDefault.Create(AOwner: TComponent);
  begin
    // criar o componente
    inherited Create(AOwner);

    // se o AOwner for um formulário setar a variável FForm
    if (AOwner is TForm) then
      FForm:= TForm(AOwner);

    // ajustar o formulário pela primeira vez
    SetForm;
  end;

end.
///////////////////////////////////////////////

Responder a