Localizar componente pelo nome

Delphi

03/07/2003

é possível localizar, pelo nome, um componente no formulário em run-time? Tipo: quando o usuario clicar no mesmo, seu nome é armazenado em uma variável, e depois é possível a aplicação alterar uma dada propriedade deste mesmo componente: alguém sabe? Estou querendo criar um editor de valor de propriedade acessível ao usuário final.


Earmarques

Earmarques

Curtidas 0

Respostas

Smaug_84

Smaug_84

03/07/2003

e sim, na classe tcomponent foi implementado um metodo que se chma findcomponent

para usar é muito simples, é so passar o nome do component e ele te retorna o component

var
x: tbutton;
begin
x := tbutton.create (self); indica que o responsavel é propio form
x := fintcomponent(´button1´);
end


GOSTEI 0
Smaug_84

Smaug_84

03/07/2003

e sim, na classe tcomponent foi implementado um metodo que se chma findcomponent

para usar é muito simples, é so passar o nome do component e ele te retorna o component

var
x: tbutton;
begin
x := tbutton.create (self); indica que o responsavel é propio form
x := fintcomponent(´button1´);
end


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

03/07/2003

use o fincomponent
variavel : TComponent;

variavel := findcomponent(nomedocomp);

depois vc testa

if variavel.classname = ´TEdit´ then TEdit(variavel).fazalgumacoisa;
if variavel.classname = ´TLabel´ then TLabel(variavel).fazalgumacoisa;
e assim vai


GOSTEI 0
Alcimar Santos

Alcimar Santos

03/07/2003

Boa tarde

com o componente button, funcionou e bem, usando a variavel do tipo tcomponent,
so que preciso tbm localiza um menu, e item de menu e desabilitar ou habilitar e nao esta dando certo

algum pode me ajudar

obrgado
GOSTEI 0
Cauê Nishijima

Cauê Nishijima

03/07/2003

Posta seu código ai pra podermos analisar
GOSTEI 0
POSTAR