Seleção de CheckBox

Veja neste artigo como podemos fazer seleção do componente checkbox, selecionando todos, nenhum e inversão.

Olá pessoal, vamos a mais um artigo com o objetivo de mostrar a seleção do componente checkbox no Delphi.

Vamos iniciar abrindo o Delphi e criando uma nova aplicação, adicione no Form cinco Checkbox e três Buttons. (OBS: Fique a Vontade para por quantos Checkbox quiser é só um exemplo). A imagem abaixo mostra uma sugestão de tela:



Feito isto prosseguiremos indo à unit do Formulário e criando dentro do Type um TTipo permissão igual a (Chek, Unchek e Invert), com isso vamos fazer as verificações das seleções e em seguida vamos criar uma procedure dentro do private chamada Change Permissão do tipo permissão não se esqueça de implementar CTRL+SHIFT+C. Como segue no código abaixo:

type TTipoPermissao = (TpChek, TpUnchek, TpInvert); TForm1 = class(TForm) Panel1: TPanel; GroupBox1: TGroupBox; CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox; Panel2: TPanel; BtnTodos: TButton; BtnNenhum: TButton; BtnInverter: TButton; procedure BtnTodosClick(Sender: TObject); procedure BtnNenhumClick(Sender: TObject); procedure BtnInverterClick(Sender: TObject); private procedure ChangePermissao (TipoPermissao : TTipoPermissao); { Private declarations } public { Public declarations } end; Depois de Implementado, vamos fazer uma contagem dos componentes checkbox do formulário e montar uma estrutura case para verificar  qual vai ser o status da marcação . Como segue no código abaixo:

procedure TForm1.ChangePermissao(TipoPermissao: TTipoPermissao); var I : Integer; begin for I := 0 to ComponentCount - 1 do begin if Components[I] is TCheckBox then begin case TipoPermissao of TpChek :(Components[I] as TCheckBox).State := cbChecked; TpUnchek :(Components[I] as TCheckBox).State := cbUnchecked; TpInvert :if (Components[I] as TCheckBox).State = cbChecked then (Components[I] as TCheckBox).State:= cbGrayed; end; end; end; end; end. Feito isto, vamos dentro de cada botão posto no formulário invocando a procedure changepermissao e passando o seu valor para as suas respectivas ordens. Como segue no código abaixo:

procedure TForm1.BtnInverterClick(Sender: TObject); begin ChangePermissao(TpInvert); end; procedure TForm1.BtnNenhumClick(Sender: TObject); begin ChangePermissao(TpUnchek); end; procedure TForm1.BtnTodosClick(Sender: TObject); begin ChangePermissao(TpChek); end; Agora teste sua aplicação, vou ficando por aqui pessoal até a próxima.

Douglas Claudio

E-mail: douglas_claudio@hotmail.com

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados