Descobri qual checkbox foi clicado
05/12/2009
0
Tenho um form com vários checkbox e criei uma procedure padrão para ser acessada pelos checkboxs, mas eu não quero criar vários eventos dos checkboxs só para chamar esta função.
A minha ideia é no evento onclick de um checkbox chamar este procedimento e enviar para ele o nome de qualquer um checkbox associado a este evento.
Leandro Carvalho
Posts
07/12/2009
Wilson Junior
Exemplos:
TCheckBox(Sender).Name
TCheckBox(Sender).Caption
TCheckBox(Sender).Checked
Para funcionar desta maneira, deve ser vinculado este evento somente para os componentes TCheckBox, caso contrário você teria que testar se o componente é um TCheckBox ou não.
Em todos componentes, vincule sempre o mesmo procedimento, ou seja, você irá implementar somente uma vez para todos os eventos.
Exemplo na prática:
procedure Tform1.chkTesteClick(Sender: TObject);
begin
if TCheckBox(Sender).Checked then
ShowMessage('Componente ' + TCheckBox(Sender).Caption + ' marcado')
else
ShowMessage('Componente ' + TCheckBox(Sender).Caption + ' desmarcado')
;
end;
Espero ter ajudado.
07/12/2009
Jair N.
uma relação dos nomes dos checkbox
if (Tcheckbox(Sender).Name = 'ckbAtual') Then
begin
end else
if (Tcheckbox(Sender).Name = 'ckbOutro') Then
begin
end;
Bem existem outros meios com certeza...
07/12/2009
Leandro Carvalho
Era isto mesmo que eu queria.
Clique aqui para fazer login e interagir na Comunidade :)