FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Key Escape
Alguien sabe como puedo mandar una pulsación de la tecla ESCAPE sin que el usuario la tenga que presionar??
Lo necesito para no marear al usuario cuando meta un dato erróneo
__________________
Hay 10 tipos de personas, las que entienden el código binario y las que no. ww.clubdelphi.com/foros/guiaestilo.php |
#2
|
|||
|
|||
Prueba con lo siguiente código para lanzar la tecla "ESC":
--> SendMessage(Self.Handle, WM_KEYDOWN, VK_ESCAPE, 0); Puedes reemplazar "Self" por el objeto al cual le quieres enviar el código de escape (tecla). Luego, en el evento "OnKeyDown" del objeto que debe tomar la tecla escape escribe lo siguiente (ajústalo a tu caso): procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_ESCAPE then showmessage('ok'); // Puedes usar "case" en lugar de "if" end; |
#3
|
|||
|
|||
Eso no me funciona bien. Entra en un bucle. necesito lanzar la tecla escape en el evento onValidate.
__________________
Hay 10 tipos de personas, las que entienden el código binario y las que no. ww.clubdelphi.com/foros/guiaestilo.php |
#4
|
||||
|
||||
Pero si no quieres marear al usuario ¿por qué no empiezas evitando que salga un mensaje que tenga que cancelar en lugar de cancelarlo tú mismo?
// Saludos |
#5
|
|||
|
|||
hola fudolph
Mi problema es que debo simular la digitacion de un taclado desde una aplicacion delphi para digitar en otro programa, tienes alguna otra idea el otro programa es una emulacion telnet que se conecta a un equipo unix |
#6
|
|||
|
|||
Asi:
Puedes simularlo usando este codigo:
Código:
keybd_event( VK_ESCAPE,0,KEYEVENTF_EXTENDEDKEY, 0); keybd_event( VK_ESCAPE,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); Código:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = #27 then showmessage('pulso escape'); end;
__________________
if Vivir = Vivir + Aprender then Aprender = ? Alfredo Borges |
|
|
|