Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Tlistbox (https://www.clubdelphi.com/foros/showthread.php?t=1412)

JaMFrY 13-06-2003 14:19:12

Tlistbox
 
Me gustaria saver cual es el odigo para selecionar todos los Items de una Tlistbox, gracias ;).

Bacterion 13-06-2003 14:59:34

Creo que tienes que hacer un pequeño bucle (por todos los items) e ir poniendo Selected[Index] a True. Así de sencillo.

Ruben_Cu 14-06-2003 04:55:59

Hola JaMFrY, vale lo que te indica Bacterion pero debes poner la propiedad MultiSelect a true sino no te funciona con el bucle.
Saludos

roman 14-06-2003 16:19:45

En Delphi7 existe el método SelectAll del ListBox. En caso de que en tu versión no esté implementado puedes mandar tu mismo el mensaje adecuado al control para evitarte el bucle:

ListBox1.Perform(LB_SETSEL, 1, -1);

Y para deseleccionar todos sería:

ListBox1.Perform(LB_SETSEL, 0, -1);

// Saludos

Ruben_Cu 14-06-2003 18:41:59

Hola amigos, delphi 6 también tiene el método SelectAll para el ListBox y funciona siempre que se haga lo que comenté en mi post anterior.
Saludos

Lepe 15-06-2003 10:57:29

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.


La franja horaria es GMT +2. Ahora son las 05:38:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi