> 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. ///////////////////////////////////////////////