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.