Como desativar itens do RadioGroup

Crie um “link” entre dois RadioGroups

Olá pessoal, esta é uma dica simples, porém de boa utilidade. Mostrarei como acessar os itens de um TRadioGroup e habilitar/desabilitar o mesmo.

Desenhando e produzindo o exemplo

Neste exemplo vamos colocar dois componentes TRadioGroup no form e chamá-los de rdgMaster e rdgDetail respectivamente. No primeiro deles insira 3 itens e no segundo 6 itens. (Figura 1)

A idéia é habilitar e desabilitar os itens de rdgDetail conforme os itens do rdgMaster forem sendo selecionados. Desta forma criamos uma espécie de link entre os dois.

 

Dica: Podemos acessar diversas propriedades dos itens do RadioGroup, como Caption, Color, Font e etc, usando a propriedade Controls do TRadioGroup.

Entendendo

Vamos usar a propriedade Controls encapsulada no TRadioGroup, desta forma podemos acessar os métodos/propriedades dos itens que estão “embutidos” no TRadioGroup.

 

Figura 1. Legenda explicativa da figura

Depois de desenhar a tela digite o algoritimo da Listagem 1 no evento onClick do rdgMaster.

 

Listagem 1. Habilita e desabilita os itens do rdgDetail

procedure TForm1.rdgMasterClick(Sender: TObject);

begin

  with rdgDetail do

  begin

    Controls[0].Enabled := rdgMaster.ItemIndex = 0;

    Controls[1].Enabled := rdgMaster.ItemIndex = 0;

    Controls[2].Enabled := rdgMaster.ItemIndex = 1;

    Controls[3].Enabled := rdgMaster.ItemIndex = 2;

    Controls[4].Enabled := (rdgMaster.ItemIndex = 0) or (rdgMaster.ItemIndex = 2)

  end;

end;

 

Conclusões

Nesta dica aprendemos a “linkar” um TRadioGroup com o outro de maneira que um poderá controlar os itens do outro possibilitando uma interação entre ambos.