Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   TlistBox y su Itemindex ... (https://www.clubdelphi.com/foros/showthread.php?t=79458)

ingel 06-07-2012 15:06:17

TlistBox y su Itemindex ...
 
Buendia .. he visto que pasa algo similar a lo que me ocurre con el listview , pero no tienen iguales propiedades y la solucion que hay no me ha funcionado ..
El tema es el sig:
Cuando cargo el form , genero las opciones de un TListBos .. Si uso las FLECHAS de seleccion , su itemindex NO SE ACTUALIZA y SIEMPRE queda en -1 ... Tengo que clickear dentro del componente para que tome el foco y ahi si actualiza el valor itemindex... pero si sigo seleccionando con las flechas me conserva ESE valor sin actualizarlo nuevamente...
Y no puedo hacer algo como "TlistBox1.Selected.Focused := true; ".. para forzarlo ....
Sds a todos
y gracias por su tiempo..

Neftali [Germán.Estévez] 06-07-2012 16:30:58

Cita:

Empezado por ingel (Mensaje 436866)
Cuando cargo el form , genero las opciones de un TListBos .. Si uso las FLECHAS de seleccion , su itemindex NO SE ACTUALIZA y SIEMPRE queda en -1 ... Tengo que clickear dentro del componente para que tome el foco y ahi si actualiza el valor itemindex... pero si sigo seleccionando con las flechas me conserva ESE valor sin actualizarlo nuevamente...
Y no puedo hacer algo como "TlistBox1.Selected.Focused := true; ".. para forzarlo ....
Sds a todos

Tal vez deberías colocar un pequeño ejemplo con el código que estás utilizando porque el comportamiento normal del TListBox no es el que describes. Es posible que yo no te esté entendiendo, de ahí que iría bien una aclaración.

Si subes y bajas con las flechas en el ListBox y en el evento OnKeyDown (por poner uno) colocas lo siguiente, verás que el ItemIndex sí cambia.

Código Delphi [-]
procedure TForm6.ListBox1KeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);
begin
  Label1.Caption := IntToStr(ListBox1.ItemIndex);
end;

ingel 06-07-2012 16:47:35

Gracias Neftali por tu respuesta...
 
es correcto lo que dices , si bajas con las flechas usando el teclado lo actualiza , pero el problema es cuando cambias las opciones con las flechas utilizando el mouse (omiti esa parte , porque como casi no uso el teclado , siempre las selecciones las hago con el mouse , lo di por default :-) .. perdon....) ..
Incluso veras que si estas en OTRO componente y CLICKEAS en las flechas para realizar una seleccion NO PASA EL FOCO al TListbox (queda en el otro componente , motivo por el cual estimo que no actualiza tampoco el itemindex)
.. Es un sistema que esta desarrollado en delphi5 .. ( aclaro por si hubiere algun bug en el componente corregido en versiones posteriores..)
Gracias

Neftali [Germán.Estévez] 06-07-2012 17:15:10

Cita:

Empezado por ingel (Mensaje 436885)
pero el problema es cuando cambias las opciones con las flechas utilizando el mouse

No te entiendo.
¿Qué quieres decir con utilizar las flechas con el Mouse?

ingel 06-07-2012 17:27:43

listbox
 
En el listbox cuando tienes varias opciones y el area que ocupa el componente es pequeña (com por ejemplo el tamaño de un Edit normal) aparecen dos flechas/botones a la derecha del componente para poder seleccionar las opciones .. si ESAS flechas las presiono con el mouse , las opciones cambian , pero el itemindex no se actualiza ...( y tampoco toma el foco) ..
Espero haberme explicado bien..
Muchas gracias por tu tiempo ...
Sds

Neftali [Germán.Estévez] 06-07-2012 18:01:18

Cita:

Empezado por ingel (Mensaje 436890)
En el listbox cuando tienes varias opciones y el area que ocupa el componente es pequeña (com por ejemplo el tamaño de un Edit normal) aparecen dos flechas/botones a la derecha del componente para poder seleccionar las opciones .. si ESAS flechas las presiono con el mouse , las opciones cambian , pero el itemindex no se actualiza ...( y tampoco toma el foco) ..
Espero haberme explicado bien..
Sds

Si te refieres a estas 2 flechas que aparecen a la derecha:



La explicación es que esas flechas no son para mover el elemento del ListBox, que son las que corresponden al scrollbar vertical, por lo tanto es lógico que funcione como comentas, igual que si el componente tuviera un tamaño más grande.


ingel 08-07-2012 00:34:21

ups... Gracias Neftali ...
 
como siempre lo dimensione como UN EDIT no me di cuenta de ello...
creo que debere buscar otro componente... Disculpas y Gracias
Sds


La franja horaria es GMT +2. Ahora son las 11:59:22.

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