¿Como hacer foco a otro componente de un TPageControl?
Hola amigos, tengo una pantalla en mi aplicación en la que tengo una serie de campos distribuidos a lo largo de un componente TPageControl. Cuando esté en el último campo de la pestaña 1 por ejemplo quiero que se me vaya al primer campo de la pestaña 2. Para ello utilizo el siguiente código en el evento Keypress:
if Key = #13 then begin Key := #0; DatosCentro.ActivePageIndex := 2; EditDigitosCta.SetFocus; end Pero en vez de esto me salta al botón que tengo en la ventana fuera del componente. ¿Que fallo de código o de tocar una propiedad estoy comentiendo? Sin embargo en un proceso de controlar que tengo los valores correctos introducidos en dicha pantalla si me funciona correctamente? Gracias por sus sugerencias |
a lo mejor es una tontería pero en vez de 2 en el activepageindex pon un 1, ten en cuenta que la cuenta comienza desde 0.
He probado tu código y funciona perfectamente. Saludos, Tony |
Veras el dos lo puse para aclarar un poco el codigo con respecto a mi explicación. Son 4 pestañas con que por lo menos si no fuera la segunda pestaña me debiera activar la 3 pero no lo hace. De todas formas si tu me dices que funciona lo probaré haber si es algún problema mio :P
|
Mira este ejemplo tomado de un programa ahora mismo y funcionando.
Es lo mismo que te acaba de decir Toni. Un Saludo. |
ya he encontado por que me falla. Uso el siguiente código:
begin if Key = #13 then begin Key := #0; Perform(WM_NEXTDLGCTL, 0, 0); end end; Que es para simular el movimiento del Tab con el Intro. Si no lo pongo y al form le pongo la variable KeyPreview a False, me funciona lo anterior pero no me funcionaria esto. Como lo podría hacer de una forma más autonoma que no sea poner setfocus en el keypress de cada boton??? |
La franja horaria es GMT +2. Ahora son las 12:11:50. |
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