Nomear componentes em runtime, automaticamente

Delphi

01/04/2005

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.


Md

Md

Curtidas 0

Respostas

Biohazard

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;


GOSTEI 0
Raserafim

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.


GOSTEI 0
Md

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
POSTAR