salto entre campos
tengo este codigo
prueben darle enter a los campos... el keypreview esta en true se dan cuenta que cuando el primer edit es 1, el control no pasa al edit 3, tengo que darle 2 veces enter para que recien el edit 3 tenga el foco??? a alguien mas le sucede esto? o estoy haciendo algo mal?? como se puede controlar los saltos dependiendo de el enabled de un campo? |
Comprueba el "tab order" de tus componentes. Es posible que no sea el que esperas y que del Edit 1 pase a otro control o edit y después al 2. Aquí tienes un artículo en Stack Overflow que habla de ello.
|
Hola.
La situación se produce por que el evento OnKeyPress se dispara antes que el evento OnExit y dentro del primer evento, se pasa a Edit2 antes de que este quede deshabilitado por el código del segundo. Para obtener el comportamiento que deseas, tendrías que hacer algo como esto:
Saludos :) |
Gracias por la respuesta, pero seria un poco complejo validar los campos en ese evento
existe alguna otra opcion? Cita:
|
Cita:
parece que el keypress se activa primero que el exit |
Hola.
Cita:
¿ Podrías poner algúna otra situación de ejemplo como para evaluar otras posibilidades ? Saludos :) |
tengo varios edit asi como en el ejemplo
la idea es que los edits siguientes se activen o desactiven dependiendo del valor del edit primario estoy pensando en usar setfocus, o jugar con los OnEnter de cada edit |
Hola.
Yo uso este código en el FormKeyDown y no tengo ningún problema:
Saludos |
Cita:
De funcionar si funciona, pero me parece curioso que en el primer toque de tecla (Arriba o Abajo) el foco se pierde cuando se deshabilita un edit chequea esto y miralo, te daras cuenta que presionas la tecla hacia abajo, los edits 2,3,4 se deshabilitan y el foco se pierde
|
https://www.clubdelphi.com/foros/sho...highlight=foco
desde este fecha estoy batallando con esto y no encuentro la solucion |
Cita:
|
Agregue un Label y un timer para que cada segundo me diga en que control estoy
cuando presiono la tecla 2 y enter el foco cambia pero cuando en el edit1 coloco el numero 1 y enter aparece un mensaje de error medio loco si? alguien puede corroborar que sucede? no quiero tener un mal concepto de delphi.
|
Cita:
|
Entonces es correcto el funcionamiento, ¿no?
|
Cita:
|
Si hago esto me funciona a la perfeccion, si alguien pudiera optimizarlo o colocarlo en una libreria para invocarlo o ver una mejor forma estare muy atento
|
No había caído en que los eventos de teclado pueden afectar a la respuesta por defecto de Intro y Tab. Siempre se aprende algo nuevo. ^\||/
|
La franja horaria es GMT +2. Ahora son las 18:06:57. |
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