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:

check

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!

Jayr Alencar

Doutorando em Ciências da Computação no Centro de Informática da Universidade Federal do Pernambuco (CIn - UFPE); Mestre pela mesma instituição; Formado em Análise e Desenvolvimento de Sistemas; Católico; Fã de O Senhor do Anéis.

Você pode gostar...

3 Resultados

  1. Saymon Yury disse:

    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 ?

  2. Jayr Alencar disse:

    Você poderia me mandar o código para que eu possa averiguar? Pode ser por e-mail jayralencarpereira@gmail.com

  3. Henrique Marti disse:

    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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *