![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Mismo problema: no detecta el enter
Utilizo Delphi 6 y tengo el mismo problema que tenía ronson.
En el evento KeyPress de un edit tengo esto: Código:
if (( Key = #13 ) {and ( QLinies.State in [dsEdit,dsInsert])}) then
begin
//codigo
end;
En el form tengo la propieadad KeyPreview=True. Yo estoy trabajando en un ordenador de sobremesa, no un portátil. La verdad es que llevo muchas horas probando esto hasta que he encontrado este hilo. La verdad es que no sé que puede ser. ¿Un error del Delphi 6? |
|
#2
|
|||
|
|||
|
He descubierto el problema
Haciendo pruebas con un Form en blanco he descubierto el problema: cuándo había un único componente no había ningún problema: detectaba el enter.
Al haber más de uno lo que hacia en el primer enter pasa el foco al siguiente componente (como un Tab). Esto es porqué está definido en el global aplicación. Ahora me las intentaré apañar con el evento on exit. |
|
#3
|
|||
|
|||
|
Como dice llonigualker, probar con el evento OnKeyDown y con la siguiente condicion:
Siempre que la propiedad KeyPreview del formulario este a true |
|
#4
|
|||
|
|||
|
Cita:
Yo puse un: Código:
if key=13 then
showmessage('entro');
end;
No me funciona pero en cambio, si le doy a MAYUS + INTRO si que entra en el evento Keypress del dbedit. Como puedo solucionar esto??? Saludos |
|
#5
|
|||
|
|||
|
Cambia del evento OnKeyPress al OnKeyDown, y recuerda poner la propiedad KeyPreview del formulario a True.
|
|
#6
|
|||
|
|||
|
Lo termino de cambiar pero sigue sin hacerlo. Si no es con el mayus + intro sigue sin ir
|
|
#7
|
|||
|
|||
|
tiene la propiedad KeyPreview del Form a True
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|