Hola:
¿Puedo hacer una sugerencia?
A lo mejor no te sirve para tu caso especial jamfry , pero puede que se vea mas elegante un TcheckListBox que viene en la paleta Additional de delphi, eso si, tienes que hacer los bucles, pero en fin, allá va:
Código:
procedure TFrmOpcionesDeBusqueda.BitBtn1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to cbbuscaexe.Count-1 do
cbbuscaexe.Checked[i]:=true; //marcar todos
end;
procedure TFrmOpcionesDeBusqueda.BitBtn2Click(Sender: TObject);
var i:integer;
begin
for i:=0 to cbbuscaexe.Count-1 do
cbbuscaexe.Checked[i]:=false; // desmarcar todos
end;
y para saber los que estan marcados:
Código:
procedure TfrmPPal.btBuscarClick(Sender: TObject);
var i:integer;
Abuscar:Tstringlist;
begin //boton buscar
abuscar:=Tstringlist.Create;
try
// solo buscamos los que estan activados en las opciones
with frmopcionesdebusqueda do
begin
for i:=0 to cbbuscaexe.Count-1 do
if cbbuscaexe.Checked[i] then
abuscar.Add(cbbuscaexe.Items[i])
end;
finally
// antes de liberar, tendrás que hacer lo que quieras
abuscar.free;
end;
Con este código tienes un Stringlist (Abuscar) donde tienes todos los elementos que se marcaron en el TcheckListBox.
Saludos.