Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mensaje al dejar presionada una Tecla (https://www.clubdelphi.com/foros/showthread.php?t=64724)

paul170185 16-04-2009 01:30:04

Mensaje al dejar presionada una Tecla
 
Hola que tal tengo una gran duda..... haver si me pueden ayudar o decirme cual es el codigo, para que dentro de un grid, si dejo la tecla "control" presionada a los 3 o 4 segundos me mande un mensaje de que la "la tecla control esta presionada", obviamente si la presiono una vez y no la dejo presionada que no me mande ningun mensaje ..... :D espero me puedan ayudar, gracias!!!

Alexandro 16-04-2009 15:28:50

hola paul170185:
Mira, lo que quieres es bastante sencillo. En tu form pon un grid, y un timer.
en el evento OnKeyDown del grid pones este codigo:
Código Delphi [-]
if Key=17 then  timer1.Enabled:=true;
Aqui lo que haces es tomar el valor Ascii de la tecla Crtl de la izq que es 17 y compararlo.
Ahora en el OnTimer pones esto:
Código Delphi [-]
inc(tiempo);
 if tiempo=4 then
               begin
                 timer1.Enabled:=false;
                 ShowMessage('4 segundos presionada.');
                 tiempo:=0;
               end;
tiempo es una variable de tipo byte y es global.
Y para finalizar agregas esto en el evento OnKeyUp del Grid:
Código Delphi [-]
tiempo:=0;
Espero que te sirva.
Suerte.

paul170185 16-04-2009 17:45:33

me funciono
 
Mil gracias, me funciono muy bien, en serio mil gracias!!!

paul170185 16-04-2009 17:52:09

-----
 
mmmm, oie funciona pero si presiono una vez la tecla y la suelto me aparece el mensaje despues de cuatro segundos :(, yo nada quiero que me aparesca el mensaje si alos 4 segundos sigue presionada la tecla esto es que no la has soltado, por que si presiono una vez la tecla control y la suelto en menos de los 4 segundos de todos modos me manda el mensaje :(

paul170185 16-04-2009 17:54:29

Oie si funciona, pero.... yo quiero que si el usuario tiene la tecla control pulsada y no quita su dedo alos 4 segundos le mande el mensaje, pero si la presiona y la suelta en menos de los 4 segundos no quiero que me aparesca :( el mensaje

Alexandro 16-04-2009 19:03:10

Disculpa, lo habia olvidado, agregas esto en el evento OnKeyUp del Grid tambien:
Código Delphi [-]
timer1.enabled:=false

paul170185 16-04-2009 21:46:31

Muchas gracias, me funciono perfectamente :), gracias por ayudarme en serio :D


La franja horaria es GMT +2. Ahora son las 17:48:42.

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