Marcar todos os CheckBox no Delphi
Olá a todos os Geeks, no Tuto de hoje vamos aprender a marcar todos os CheckBox em Delphi, uma tarefa um tanto quanto fácil.
[ads2]
1 – Para começar crie um novo projeto Delphi, caso você não tenha um criado: File >> New >> VCL Forms Application – Delphi for Win32.
2 – Vamos fazer um exemplo com os meses do ano, por isso coloque 13 CheckBox no form, 12 para os meses e outro que servirá para selecionar todos, o qual você deve alterar a propriedade name para CBtodos:
3 – No evento OnClick do CBtodos você deve adicionar o seguinte código:
procedure TForm3.CBtodosClick(Sender: TObject);
var
i: Integer; //Variável de controle do laço de repetição
checado: Boolean; //Variavel que determina se os Check estão checados ou não
begin
checado:=false; //Inicializando com falso
if CBtodos.Checked then //Se o "Selecionar todos" estiver checado
checado:=true; //Checado recebe verdadeiro
for i:=0 to ComponentCount-1 do //laço de repetição
if (Components[i] is TCheckBox) then //testa se o componente é um Checkbox
TCheckBox( Components[i] ).checked := checado; //Marca ou desmarca
end;
Veja que, conforme o código, você pode tanto marcar todos, como desmarcar todos, e que o laço de repetição for percorre todos os componentes presentes no form e testa quais são do tipo TCheckBox, para que só eles tenham seus valores alterados.
Agora compile e teste, veja como ficou. Até a próxima!
Boa tarde Jayr, parabéns pelo post. Utilizei seu for e funcionou perfeitamente, porem quando estão todos marcados e eu clico em uma das opções para desabilitá-la, o CBtodos deve desabilitar também certo? porém quando eu faço isso, todos ficam desabilitados, sabe porque ?
Você poderia me mandar o código para que eu possa averiguar? Pode ser por e-mail jayralencarpereira@gmail.com
Olá, fiquei contente em encontrar conteúdo Delphi aqui no site.
Trabalho com Delphi há mais de 10 anos, nos últimos anos também tenho trabalhado com mais tecnologias e tenho visto conteúdo Delphi diminuir no mundo da tecnologia (é, Delphi não está mais na sua época dourada)
Seu site é bem legal, parabéns.