Nomear componentes em runtime, automaticamente
Em design, quando colocamos um componente no Form, o Delphi automaticamente dá um nome ao componente. Como eu posso reproduzir isso, mas criando o componente ´no braço´, no código, para criá-los em runtime?
obrigado
MD.
obrigado
MD.
Md
Curtidas 0
Respostas
Biohazard
01/04/2005
vou citar um exemplo para a criação de ´TEdit´ em runtime.
declare uma variável global com o nome de ´contador´ e no evento OnCreate do formulário coloque o seguinte:
contador := 0;
no Onclick de um botão coloca o seguinte:
with TEdit.Create(Self) do
begin
Parent := Form1;
Inc(contador,1);
Caption := ´Edit´ + IntToStr(contador);
Name := ´Edit´ + IntToStr(contador);
end;
declare uma variável global com o nome de ´contador´ e no evento OnCreate do formulário coloque o seguinte:
contador := 0;
no Onclick de um botão coloca o seguinte:
with TEdit.Create(Self) do
begin
Parent := Form1;
Inc(contador,1);
Caption := ´Edit´ + IntToStr(contador);
Name := ´Edit´ + IntToStr(contador);
end;
GOSTEI 0
Raserafim
01/04/2005
ao criar o componenete, na cláusula name, vc pode formar o nome simulando o que o delphi faz. O nome da classe, com a função ClassName, que vai retornar a classe do componente criado, e concatenar com a quantidade de componentes que tem no componente pai, utilizando a propriedade Parent.ControlCount.
O delphi faz parecido com isso, sendo que o contador é individual para cada classe.
O delphi faz parecido com isso, sendo que o contador é individual para cada classe.
GOSTEI 0
Md
01/04/2005
ao criar o componenete, na cláusula name, vc pode formar o nome simulando o que o delphi faz. O nome da classe, com a função ClassName, que vai retornar a classe do componente criado, e concatenar com a quantidade de componentes que tem no componente pai, utilizando a propriedade Parent.ControlCount.
O delphi faz parecido com isso, sendo que o contador é individual para cada classe.
OK raserafim, é uma boa ideia.
Att,
MD
GOSTEI 0