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]