![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Utilizando un Actionlist
Como podría desplazarme por los componentes de un formulario utilizando un Actionlist ?
Estuve probando con lo siguiente pero no me funciona: Para desplazarme hacia adelante SelectNext(TWinControl(Sender), true, true); Y SelectNext(TWinControl(Sender), false, true); Para desplazarme hacia atrás. Muchas gracias por la ayuda |
|
#2
|
|||
|
|||
|
Hola.
Cita:
supongo que creaste una accion llamada Adelante y otra llamada atras y en el execute de cada una colocaste el selectnext correspondiente, entonces en la llamada a esta accion debes pasar el control actual como parametro sender, es decir: Código:
procedure TForm1.AdelanteExecute(Sender: TObject);
begin
SelectNext(twincontrol(sender),true,true);
end;
procedure TForm1.AtrasExecute(Sender: TObject);
begin
SelectNext(twincontrol(sender),false,true);
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #13) then
if (GetKeyState(VK_SHIFT) and $80 = 0) then
begin
key := #0;
AdelanteExecute(sender);
end else
AtrasExecute(sender);
end;
Código:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (key = #13) and
((ActiveControl is TEdit) or (ActiveControl is TDBEdit)) then
begin
Key := #0;
SelectNext(ActiveControl, GetKeyState(VK_SHIFT) and $80 = 0, True);
end
end;
espero que te sirva. |
|
#3
|
|||
|
|||
|
Ok. gracias lo voy a probar
|
|
#4
|
|||
|
|||
|
Gracias Rudi por tu sugerencia, me funciono parcialmente y utilice lo siguiente y funciono perfecto:
SelectNext(TWinControl(Sender), GetKeyState(VK_SHIFT) and $80 = 0, True); Pero al utilizar en el formulario varios Tpanel no brinca de un Tpanel al otro pero si utilizo la tecla de tabulacion si puedo recorrer el formulario completo. Alguna sugerencia? |
|
#5
|
|||
|
|||
|
Hola carlos
No se que te estará pasando, lo acabo de probar con tpanel, con tgroupbox, directo sobre el form y lo hace perfecto. por decirte algo verifica el keypreview de la forma y fijate si al llamar al metodo el codigo pasa por donde debe pasar, te lo digo por decirte algo pues aveces se nos olvida poner o quitar algo, bien sea una validacion o inicializar alguna variable. |
|
#6
|
|||
|
|||
|
El problema es que tenia los Tpanel con la propiedad tabstop en true ya funciona bien
gracias nuevamente. |
![]() |
|
|
|