Fórum Criando componentes em tempo de execução #356615
04/04/2008
0
Quero permitir que o usuário monte o form da maneira que ele achar melhor. Para isso eu terei em um form uma lista de componentes que ele pode adicionar.
O problema é que eu não posso declarar um monte de variáveis prevendo os componentes que o usuário possa adicionar ao form. Exemplo:
Dessa forma eu só permitiria ao usuário adicionar três edits no form. Como fazer para que não haja essa limitação de número?
Grato pela ajuda.
t+!
O problema é que eu não posso declarar um monte de variáveis prevendo os componentes que o usuário possa adicionar ao form. Exemplo:
var Edit1: TEdit; Edit2: TEdit; Edit3: TEdit;
Dessa forma eu só permitiria ao usuário adicionar três edits no form. Como fazer para que não haja essa limitação de número?
Grato pela ajuda.
t+!
Delphi32
Curtir tópico
+ 0
Responder
Posts
04/04/2008
Bterossi
Cara nao sei se eu comprendi sua duvida, porem voce pode adicionar ao evento ´FormMouseDown´ este codigo, no caso de voce adicionar varios tipos de componentes voce deve tratar a varial obj como object, e no momento de efeturar o create voce muda, por ex:
var
obj: TEdit;
begin
if edit then
obj := TEdit.Create(Self)
else
if bitbtn then
obj := TBitBtn.create(self);
obj.Parent := Self;
obj.Top := y;
obj.Left := x;
end;
espero ter ajudado.
var
obj: TEdit;
begin
if edit then
obj := TEdit.Create(Self)
else
if bitbtn then
obj := TBitBtn.create(self);
obj.Parent := Self;
obj.Top := y;
obj.Left := x;
end;
espero ter ajudado.
Responder
Gostei + 0
04/04/2008
Delphi32
o problema é que eu quero fugir de ter que declarar as variáveis que serão usadas. Porque veja bem, imagina que o usuário queira criar um form com 1000 edits. Eu teria que criar:
E se para cada Edit o usuário quisesse adicionar 1 botão. Então além de declarar 1000 edits eu teria que declarar 1000 botões. O que eu estou querendo fazer é muito similar ao que o delphi faz. Ele permite que você adicione um número infinito de componentes. Não creio que ela tenha declarado em seu código 1000 variáveis de cada componente, não é?
Como posicionar o componente no form não é o problema, mas sim como fugir dessa declaração da variável.
Obrigado pela ajuda.
t+!
var Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; ... Edit999: TEdit; Edit1000: TEdit;
E se para cada Edit o usuário quisesse adicionar 1 botão. Então além de declarar 1000 edits eu teria que declarar 1000 botões. O que eu estou querendo fazer é muito similar ao que o delphi faz. Ele permite que você adicione um número infinito de componentes. Não creio que ela tenha declarado em seu código 1000 variáveis de cada componente, não é?
Como posicionar o componente no form não é o problema, mas sim como fugir dessa declaração da variável.
Obrigado pela ajuda.
t+!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)