Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Cómo se puede evitar que se seleccionen varios campos en un CheckListBox? (https://www.clubdelphi.com/foros/showthread.php?t=23749)

nuri 27-07-2005 16:47:54

¿Cómo se puede evitar que se seleccionen varios campos en un CheckListBox?
 
Hola a todos.
¿Cómo se puede evitar que se seleccionen varios campos en un CheckListBox?
Sólo quiero que se selccione uno, en el caso de que se seleccione otro que se deseleccione el anterior seleccionado.
En el caso de ListBox existe la propiedad MultiSelect pero en CheckListBox no la tengo.
Tengo el Delphi5.
¿Existe una propiedad análoga con otro nombre en CheckListBox?
Muchas gracias a quien pueda ayudarme.;)
Atentamente
Nuri

delphi.com.ar 27-07-2005 16:53:29

Es que la filosofía de los checks, es que se pueda seleccionar mas de uno. Por el contrario los Options solo se podrá seleccionar uno por grupo. ¿Porqué no utilizas un TRadioGroup?

Cita:

Empezado por Ayuda de Delphi
Use TRadioButton to add a radio button to a form. Radio buttons present a set of mutually exclusive options to the user- that is, only one radio button in a set can be selected at a time. When the user selects a radio button, the previously selected radio button becomes unselected.

Saludos!

ContraVeneno 27-07-2005 16:56:01

incluso tambien usar un listbox...

nuri 27-07-2005 17:08:00

Es que ListBox no tiene la propiedad CheckBox y quiero manipular el campo que se elija.
RadioGroup no me interesa ya que no sé cuántos items va a tener ya que se completa de forma dinámica y la lista puede ser amplia.Bueno si RadioGroup tuviera barras de desplazamiento...
Muchas gracias por sus prontas respuestas.
Atentamente
Nuri

ContraVeneno 27-07-2005 17:13:18

la propiedad Selected del listbox sirve para saber cuál elemento esta seleccionado....

eso es lo que yo utilizaría para manipularlo...

delphi.com.ar 27-07-2005 17:13:44

Cita:

Empezado por nuri
Es que ListBox no tiene la propiedad CheckBox y quiero manipular el campo que se elija.

No tiene la propiedad checkbox, pero creo que queda mas que claro cual es el item seleccionado (Pintado)

dec 27-07-2005 17:14:46

Hola,

A ver si esto te da alguna idea: se trata de utilizar el evento "ClickCheck" de un "TCheckListBox" para hacer que este se asemeje a unos radio-botones: solamente y siempre habrá un elemento "marcado". Puede acaso darte alguna idea para lo que quieres hacer, creo:

Código Delphi [-]
 procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
 var
   i,j: integer;
 begin
   // Elemento seleccionado
   i := CheckListBox1.ItemIndex;
   if i = -1 then Exit; // Salimos si no lo hay
   // Recorremos todos los elementos
   for j := 0 to CheckListBox1.Items.Count-1 do
      if i <> j then // Los que no sean el seleccionado...
        CheckListBox1.Checked[j] := false; // se desmarcan
   // Habrá siempre un elemento marcado
   if not CheckListBox1.Checked[i] then
     CheckListBox1.Checked[i] := true;
 end;

nuri 27-07-2005 17:36:11

Okis, ya lo tengo.

Finalmente lo he hecho con ListBox, que no sabía que tenía la propiedad Selected, con esto he solucionado mi problema.
Muchas Gracias a todos.;)
Atentamente
Nuri


La franja horaria es GMT +2. Ahora son las 04:35:29.

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