Ah, mas então seria melhor criar um Form que descende de TForm e sobrescrever os métodos que deseja que sejam fixos. Exemplo:
TXForm = class(TForm) private //sobrescreve o setter da propriedade width // property Width: Integer read FWidth write SetWidth; procedure SetWidth(const Value: Integer); end; framosip escreveu: > > 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! > > --- Em delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br>, "Cristiano R F Maciel" > <cristianorfmac...@...> escreveu > > > > Boa tarde, > > > > Não sou bom em componentes, mas como você não teve resposta melhor, > fiz um > > pequeno exemplo que talvez te ajude: > > > > Qualquer dúvida de um grito! > > > > Cristiano R F Maciel > > > > ///////////////////////////////////////////////////////////////////// > > > > unit FormDefault; > > > > interface > > > > uses > > Classes, Forms; > > > > type > > TFormDefault = class(TComponent) > > public > > 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.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 (por regra deve ser) > > if (AOwner is TForm) then > > begin > > // propriedades > > TForm(AOwner).BorderStyle:= bsDialog; > > TForm(AOwner).Caption:= 'Este é apenas um pequeno exemplo...'; > > // posição > > TForm(AOwner).Top:= 0; > > TForm(AOwner).Left:= 0; > > TForm(AOwner).Height:= 300; > > TForm(AOwner).Width:= 300; > > // eventos > > TForm(AOwner).OnClose:= FormClose; > > end; > > end; > > > > end. > > > > ///////////////////////////////////////////////////////////////////// > > > > > > De: delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br> > [mailto:delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br>] Em > > nome de framosip > > Enviada em: quarta-feira, 2 de setembro de 2009 14:06 > > Para: delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br> > > Assunto: [delphi-br] Componente - Formulário > > > > > > Amigos, > > Boa tarde. > > > > Estou tentando criar um componente que ao arrastá-lo para o Form, > algumas > > propriedades do form se alterem em tempo de execução. > > > > Em pesquisa pela internet, vi muitas informações de criação de > componentes > > onde > > extendemos algumas opções de componentes já existentes como o TEdit. A > > princípio > > não é o meu caso. > > > > Criei apenas o básico e gostaria da ajuda de vocês para tentar alterar > > algumas > > propriedades do Form. > > > > O que fiz foi: > > > > unit FormDefault; > > > > interface > > > > uses > > Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, > Forms, > > Dialogs; > > > > type > > TFormDefault = class(TComponent) > > private > > { Private declarations } > > protected > > { Protected declarations } > > public > > { Public declarations } > > constructor Create(AOwner: TComponent); override; > > destructor Destroy; override; > > published > > { Published declarations } > > end; > > > > procedure Register; > > > > implementation > > > > { TFormDefault } > > > > procedure Register; > > begin > > RegisterComponents('Ramos', [TFormDefault]); > > end; > > > > -- */System – Soluções em Sistemas de Informação /*/Marcelo Luiz Onhate Departamento de Desenvolvimento/ marc...@systempro.com.br <mailto:marc...@systempro.com.br> www.systempro.com.br <http://www.systempro.com.br/>(54) 3321-5888 ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html