DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

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





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Douglas Claudio

2º Técnico em processamento de Dados, 3° Grau Sistema de Informação, 1º Período.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03