A propriedade Tag de todo e qualquer descendente de TComponent, segundo o
próprio help do Delphi, não possui um propósito específico. Esta propriedade
existe para conveniência de uso pelo desenvolvedor para, por exemplo, ser
usada para armazenar um valor inteiro adicional ou fazer um typecast com o
valor armazenado para obter uma referência um ponteiro ou a outro
componente.

 

O mais sensato é você criar um descendentes de TLabel que tivesse uma
propriedade por você definida e que essa propriedade, quando tivesse seu
valor alterado, disparasse um evento por você também definido. E nesse
evento sim, você programaria o comportamento descrito.

 

Você não quer mudar uma propriedade automaticamente, e sim quer que um
comportamento no componente aconteça quando você alterar um valor em uma
propriedade do mesmo que não possui qualquer tipo de evento a ela
(propriedade Tag) associada, de forma que você possa programar esse
comportamento desejado. Isso não é OO, e sim querer que, pura e
simplesmente, algo aconteça no componente por osmose!

 

Sds.

 

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de EmbarcaDelphi
Enviada em: quinta-feira, 23 de julho de 2009 12:52
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Como mudar uma propriedade automaticamente?

 

  

Alguém saberia dizer como faço isso:

Quando setar a Tag de um componente (TLabel), automaticamente alterar a 
cor dele.

Ex.:

Label1.Tag := 1; // O Label1 passa a ficar verde
Label1.Tag := 0; // O Label1 passa a ficar vermelho

Sem ter que colocar a cor toda vez que precisar mudar a Tag (diminuir o 
código). Acho que isso é OOP, rsrsrs.

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a