![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Lo he vuelto a probar :
Con la propiedad del form KeyPreview = True. Código:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
showmessage('Pulsado Tecla');
if Key = #13 then
showmessage('Tecla Enter');
end;
. |
|
#2
|
|||
|
|||
|
Puede ser por estar en un portatil.-.
vamos a ver, he reiniciado y esto no chuta vamos a ver:
Me hace pensar una cosa maquiavelica, tengo un portatil....Osea que estoy en un portatil mi pregunta es la siguiente: ¿Tendra algo que ver?, por que claro todas las demas teclas me las coge, a ver si es un codigo raro. Por que desde luego tengo que probarlo en un fijo. No se que pensar claro!! |
|
#3
|
|||
|
|||
|
Lo sabia, es por la puta mierda de portatil, que puta rabia, si pulo MAY+INTRO ese es el caracter #13, que puta rabia de verdad!! Con razon ya me podia volver loco.
Para que lo sepais mi portatil es un ADL SmartBook. ME cago en la puta.... QUE GRANGRENA: |
|
#4
|
||||
|
||||
|
No sé si tiene algo que ver que estés trabajando en el portatil. Lo que si te digo es que cuando pulso intro y muestro el valor de Key, no tengo ningún valor en el mensaje que muestro por pantalla. Pero me detecta que es #13 (tecla enter).
|
|
#5
|
|||
|
|||
|
hola a mi me pasa lo mismo, si el componente es tedit solo me pasa al siguiente si presiono shit+Enter, tengo delphi 6
y tengo un teclado Millenniun (uno negro con funciones especiales), ¡Será el teclado? |
|
#6
|
|||
|
|||
|
Y a nadie se le ha ocurrido pobar con el evento "Onkeydown" y key=vk_return? (Siempre que el keypreview del form este a true, claro)
Probadlo. Saludos.
__________________
El que pregunta es tonto durante 5 minutos, el que no pregunta es tonto para toda su vida. |
|
#7
|
|||
|
|||
|
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? |
|
#8
|
|||
|
|||
|
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. |
|
#9
|
|||
|
|||
|
Eliminé todo el contenido del keypress del dbedit y puse lo que me dijiste en el keydown. También realicé el seguimiento paso a paso y lo extraño es que entra en un botón de Aceptar que tengo pero no entra ni en el keydown ni en el keypress.
Se me hace muy raro que ocurra esto. Saludos |
|
#10
|
|||
|
|||
|
Tienes que tener algún código que anule lo que tienes en ese DBEdit, puede que sea lo que dices en ese botón aceptar, ¿Ocurre antes o depués del evento que deberia ejecutar en el DBEdit?
|
|
#11
|
||||
|
||||
|
Cita:
El problema es que procesar el ENTER en un control, habiendo un botón de default es contradictorio y tendrás que decidir entre cual de los dos comportamientos quieres. // Saludos |
![]() |
|
|
|