Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Ültimo elemento seleccionado en un combobox (https://www.clubdelphi.com/foros/showthread.php?t=37930)

verodelphi 27-11-2006 12:15:11

Ültimo elemento seleccionado en un combobox
 
Hola a todos.

Llevo ya tiempo intentando conseguir que si seleccionamos un elemento en un combobox, la siguiente vez que abra el formulario me aparezca seleccionado el último elemento que tomé.
Me he creado una variable global de tipo integer que me almacene el elmento que he seleccionado en el combo. Esto lo hago en el evento OnClick del combo:
operario_seleccionado:=ComboBox1.ItemIndex;

¿En qué momento recupero este dato? ¿Cuando se cargue de nuevo el formulario en el evento OnCreate, o en el evento FormShow?

He probado de todo y no consigo que funcione. Si selecciono cada vez el elemento del combo con el ratón sí hace todo bien, pero quiero que lo haga igualmente si me muevo por los elementos del formulario con el tabulador o pulsando enter.

Si alguien pudiera echarme una mano se lo agradecería, porque llevo tanto tiempo con esto que ya no tengo una visión diferente que me permita dar con ello.

Gracias de antemano

Neftali [Germán.Estévez] 27-11-2006 12:20:42

En el OnShow podrías poner:

Código Delphi [-]
  ComboBox1.ItemIndex :=                     operario_seleccionado;

Lepe 27-11-2006 13:45:29

Debes guardar el item en el OnClose del formulario (por ejemplo), así guardará el estado siempre, ya se haya hecho clic, con tabulador o de cualquier forma.

Al tiempo de cargarlo, puedes hacerlo en el OnCreate, pero teniendo en cuenta que puede no haber seleccionado ninguno.

OnCreate del form
Código Delphi [-]
  if Operario_seleccionado <> -1 then
    combobox.itemindex := Operario_seleccionado

OFFTOPIC: en las RXLIB o tambien en las JVCL, existe el FormStorage, ahora tambien se llama AppStorage, etc, sirve para guardar automáticamente todas esas cosas y recuperarlas al mostrar el form. Solo tienes que indicar (en tiempo de diseño) las propiedades que quieres que recuerde.

Saludos

verodelphi 27-11-2006 14:44:47

Muchas gracias. Ya lo he conseguido. Efectivamente, al cerrarse el formulario es cuando se aprende lo que tiene seleccionado el combo y al cargarlo en el evento create se coloca lo seleccionado anteriormente.

Gracias de verdad


La franja horaria es GMT +2. Ahora son las 20:14: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