Descobrir o nome do componente em Runtime
Olá pessoal, boa noite!
Empaquei numa parte do meu projeto que pra muitos de vocês parece ser boba...mas ja estou ficando sem cabelos... kkk... vamos lá!
No meu projeto o form principal tem a hibbon que é criado em runtime, os botões são composto por 3 componentes (Panel, Image e Label), coisa simples, aí tenho vários botões sendo criados dinamicamente como, empresas, provedores, e-mails, etc... no entanto, quando clico no botão (imagem ou label) queria que a panel ficasse visível, embora eu tenha atribuído o "name" na hora de criar a panel eu não consigo pegar para deixar ela visível... o mais perto que consegui foi com o código abaixo.
só que ele deixa o ultimo panel criado em runtime visível... o que eu cliquei não fica... já tentei de outra forma como abaixo... mas sem sucesso.
só preciso saber uma forma de capturar o nome da panel que eu quero deixar visível.
obrigado por enquanto.
Empaquei numa parte do meu projeto que pra muitos de vocês parece ser boba...mas ja estou ficando sem cabelos... kkk... vamos lá!
No meu projeto o form principal tem a hibbon que é criado em runtime, os botões são composto por 3 componentes (Panel, Image e Label), coisa simples, aí tenho vários botões sendo criados dinamicamente como, empresas, provedores, e-mails, etc... no entanto, quando clico no botão (imagem ou label) queria que a panel ficasse visível, embora eu tenha atribuído o "name" na hora de criar a panel eu não consigo pegar para deixar ela visível... o mais perto que consegui foi com o código abaixo.
Tpanel(BotaoHibbon).visible := true;
só que ele deixa o ultimo panel criado em runtime visível... o que eu cliquei não fica... já tentei de outra forma como abaixo... mas sem sucesso.
TPanel(BotaoHibbon.Name['BotaoProvedor']).Visible := True;
só preciso saber uma forma de capturar o nome da panel que eu quero deixar visível.
obrigado por enquanto.
Rafael Panizza
Curtidas 0
Melhor post
Gutierry Pereira
02/12/2016
Bom dia,
Se você sabe o nome do componente, pode então utilizar o FindComponent.
ficaria assim :
TPanel(FindComponent('Nome_do_componente')).visible := false;
O ideal que se garanta a existencia desse componente.
meuComp = FindComponent('Nome_do_componente');
If assigned(meuComp) then
meuComp.visible := false;
Dessa forma evitará erros de violação de acesso.
Espero ter ajudado.
Se você sabe o nome do componente, pode então utilizar o FindComponent.
ficaria assim :
TPanel(FindComponent('Nome_do_componente')).visible := false;
O ideal que se garanta a existencia desse componente.
meuComp = FindComponent('Nome_do_componente');
If assigned(meuComp) then
meuComp.visible := false;
Dessa forma evitará erros de violação de acesso.
Espero ter ajudado.
GOSTEI 1
Mais Respostas
Towerdefense5
01/12/2016
This is such a great resource that you are providing and you give it away for free. I love
seeing that understand the value of providing a quality resource for free. :) :)
[url=http://bloonstowerdefense5game.com]bloons tower defense 5[/url]
[url=http://supersmashflash-2.com]super smash flash 2[/url]
seeing that understand the value of providing a quality resource for free. :) :)
[url=http://bloonstowerdefense5game.com]bloons tower defense 5[/url]
[url=http://supersmashflash-2.com]super smash flash 2[/url]
GOSTEI 0
Rafael Panizza
01/12/2016
Boa tarde Gutierrydsn!!
Obrigado pela ajuda, deu certinho aqui vlw !!!!
Obrigado pela ajuda, deu certinho aqui vlw !!!!
GOSTEI 0