PDA

Ver la Versión Completa : Listbox ¿cómo señalar?


CarlosAlberto
05-10-2011, 21:21:14
Estimado miembros del club:
¿Me pueden ayudar a resolver el siguiente problema?: tengo tres componentes listbox, señalo por ejemplo el 3er elemento de la lista y quiero que quede señalado o seleccionado en los otros dos lisboxt también el 3er elemneto.
Muchas gracias.
Saludos.
Carlos Alberto

ecfisa
05-10-2011, 22:04:01
Hola CarlosAlberto.

Asigná este procedimiento al evento OnClick de los tres ListBox:

procedure TForm1.ListBoxClick(Sender: TObject);
begin
with (Sender as TListBox) do
begin
ListBox1.ItemIndex:= ItemIndex;
ListBox2.ItemIndex:= ItemIndex;
ListBox3.ItemIndex:= ItemIndex;
end;
end;

Si bién hay redundancia en la asignación de la propiedad ItemIndex del ListBox que genera el evento, compensa con más simplicidad que hacer una evaluación en el evento OnClick de cada ListBox.

Un saludo.

Caminante
05-10-2011, 23:08:50
procedure TForm1.ListBox3Click(Sender: TObject);
var
i:integer;
begin
i:=listbox3.ItemIndex;
listbox1.ItemIndex :=i;
listbox2.ItemIndex :=i
end;


Saludos

ecfisa
06-10-2011, 00:00:54
Hola caminante.

Aunque tu código funciona correctamente para las selecciones realizadas en ListBox3, no contempla la posibilidad de que la selección se haga desde ListBox1 o ListBox2.

Un saludo.

Caminante
06-10-2011, 02:09:07
Si ya lo se solo me apegaba a su explicacion. Pero la idea esta dada

CarlosAlberto
06-10-2011, 20:04:27
Estimado Ecfisa: muchas gracias por la respuesta. Ya lo probé y funcionó como esperaba.
Saludos.
Carlos Alberto

CarlosAlberto
06-10-2011, 20:08:14
Gracias Caminante: ya probé el código que me envío el moderador Ecfisa y funciono como lo esperaba.
Saludos.
Carlos Alberto

ecfisa
06-10-2011, 20:28:12
Hola Carlos.

El código que te sugirió Caminante es totalmente correcto con la salvead que habría que crearlo en forma individual para cada ListBox.
Seguramente vas a encontrarte con otros casos donde la complejidad de la evaluación requieran capturar el evento OnClick de cada ListBox como en el ejemplo de Caminante.

Un saludo. :)