Olá pessoal, tenho mais uma quick tip para vocês. É muito comum utilizarmos RadioGroups para fornecer opções para o usuário selecionar, porém, já me ocorreu de precisar desabilitar apenas uma opção específica do RadioGroup, já vi alguns casos em que se deixava de usar o RadioGroup e trocava-se por um GroupBox com RadioButtons individuais, para que se pudesse controlar os mesmos, porém isso não é necessário, pois podemos usar a property Controls do RadioGroup(na verdade essa property é herdada da classe TWinControl). Para isso, poderíamos usar o seguinte código.

image

Com este código, desabilitamos apenas o primeiro item do RadioGroup. Conforme podemos ver na imagem abaixo.

image

Poderíamos também tornar a opção invisível, alterando a propriedade visible ao invés de enabled.

Já que estamos falando de dicas rápidas e de RadioGroups, vamos a mais uma dica.

É muito comum também, utilizarmos RadioGroup como opção de filtros de relatórios e depois colocamos no cabeçalho do relatório qual o filtro que foi selecionado pelo usuário. Uma maneira tradicional e óbvia de se fazer isso é a seguinte:

image

Porém, poderíamos transformar estas quatro linhas em uma só. Nós definimos na propriedade “Items” do RadioGroup quais são os items que teremos. Se observarmos esta propriedade, veremos que ela é do tipo TStringList, com isso, podemos saber qual o item selecionado de maneira muito mais simples, bastando passar o índice selecionado para este stringList, assim poderíamos trocar o bloco de código acima pelo seguinte:

image

Dessa forma, deixamos o código mais limpo e se precisarmos inserir uma nova opção no RadioGroup não teremos que mexer neste bloco de código.