Selecionar compotente pelo nome em run-time

Delphi

17/10/2005

Boa tarde,

Galera, eu criei um componente TCBox = class(TcustomComboBox)

e para cada campo da tabela aberta eu crio um componente desse.
Depois, qdo eu clicar num campo, eu quero selecionar o Componente TCbox referente ao nome do campo, isso em rum-time, alguém pode me dizer como eu faço isso ?


Cristianopintado

Cristianopintado

Curtidas 0

Respostas

Davicarrano

Davicarrano

17/10/2005

suponhando que cada registro da tabela já guarde o nome do componente entao vc faz assim.... vou dar o exemplo independente do component que vc esta acessando...

TCBox(FindComponent(Tabela.fields.fieldbyname(´NOME_COMPONENT´).asstring)).setfocus

esse código voce coloca no click do DbGrid....
espero q dê certo....


GOSTEI 0
Davicarrano

Davicarrano

17/10/2005

é o seguinte... o código
Tabela.fields.fieldbyname(´NOME_COMPONENT´).asstring
retorna o nome do component como string
quado chamamos o método FindComponet passando pra ele uma string contendo o nome de um component ele retornaa instância daquele component... fazendo umTypeCast vc consegue referenciar esta instância através da Classe TCBox.. daí você passa a trabalhar com todas as propriedades e métodos desta instância.... vc pode dar o setfocus que vai pro component... sou meio ruim pra explicar mais to tentando....


GOSTEI 0
Cristianopintado

Cristianopintado

17/10/2005

Muito obraigado pela ajuda amigo, caiu como uma luva.


GOSTEI 0
POSTAR