Array
(
)

Criar componente em tempo de desingn

Rodrigoandr
   - 16 dez 2005

Alguem ai sabe como eu posso criar componentes em tempo de design e que fique no form .

q estou fazendo um componente para facilitar a hora defazer formularios

tipo ele na hora de fazer o form no delphi so precizará setar o dataset
escolher os campos que iar a´parecer no form e o comopnente ira gerar todo os edits no forrmulario em tempo de desingn para q seja possivel sua alteração no delphi ...


Adriano Santos
   - 16 dez 2005


Citação:
Alguem ai sabe como eu posso criar componentes em tempo de design e que fique no form .

q estou fazendo um componente para facilitar a hora defazer formularios

tipo ele na hora de fazer o form no delphi so precizará setar o dataset
escolher os campos que iar a´parecer no form e o comopnente ira gerar todo os edits no forrmulario em tempo de desingn para q seja possivel sua alteração no delphi ...



Em tempo de design? Pode explicar melhor pq não consegui entender.


Sourcecode
   - 16 dez 2005

Exemplo: MeuEdit := TEdit.Create(Self.Owner);

levando em conta que o seu componente descende de TComponent e que ele está em um form isso aí funciona direitinho... crie um menu no component designer do seu componente, to sem o código completo agora mas se quiser ver um exemplo disso baixa o MDO, aquele menu de ´Sobre MDO´ dá pra ver como funciona direitinho... se quiser pode criar uma propriedade também, tipo: Property CriarEdit: String read fCriarEdit write SetCriarEdit; dá ctrl+Shift+c e na funtion SetCriarEdit coloca o código aí acima, assim ao mudar a propriedade ele vai criar o edit... espero ter ajudado, segunda-feira eu posto um exemplo de DesignMenu... provavelmente deve ter algo aqui no fórum também... dá uma pesquisada...


Rgaffo
   - 17 dez 2005

faz assim dentro da procedure que vc quer

var
Label1 : TLabel;
Begin
Label1 := TLabel.Create(self); // Self é o form
with Label1 do Begin
Top := 20;
Left := 20;
Caption := ´Criado em Design Time´;
Caption := ´Criado´;
Parent := self; // O form poderia ser qq component do tipo container, um //panel por exemplo é só colocar o nome do objeto. Parent indica dentro //de qual objeto o que vc está criado vai aparecer
Visible := True;
End;
End;

Isso resolve o seu problema, dessa forma vc cria qq objeto, basta definir as propriedades na programação como acima, a linha: Label1 := TLabel.Create(self); É importante, pois, cria o objeto, o restante é as propriedades vc define na programação.

Sem mais,
Esepero ter ajudado.

Robert