Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Captar teclado con delphi 7 y delphi 2010 (https://www.clubdelphi.com/foros/showthread.php?t=79583)

ElDuc 18-07-2012 19:18:04

Captar teclado con delphi 7 y delphi 2010
 
Hola señores,

Tengo un problema muy raro, estoy intentando controlar el teclado y programando con delphi 7 el evento keypress me funciona perfectamente, pero trabajando con delphi 2010 hay teclas (como las flechas) que no disparan el evento.

Alguien sabe si tengo que activar o desactivar alguna cosa en delphi 2010 para que al pulsar dichas teclas se dispare el evento y pueda "cazar la pulsación"

El Keypreviw del formulario está activado en ambos casos.

Gracias por vuestra ayuda.

ecfisa 21-07-2012 02:53:23

Hola ElDuc.

En Delphi 7 los virtual key codes no son captados en el evento OnKeyPress sino en OnKeyDown. Lo mismo sucede en Delphi 2010.

Para comprobar esto, podes realizar una prueba con un form en blanco:
Código Delphi [-]
...
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  ShowMessage('KeyPress');
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  case Key of
    VK_LEFT : ShowMessage('Key Left');
    VK_RIGHT: ShowMessage('Key Right');
    VK_UP   : ShowMessage('Key Up');
    VK_DOWN : ShowMessage('Key Down');
    VK_F1   : ShowMessage('Key F1'); 
    //...
  end;
end;
Los diferentes códigos virtuales de teclas los encontras en la ayuda de delphi buscando por "Virtual key codes".

Saludos.

ElDuc 09-08-2012 21:11:15

Muchas gracias ecfisa, lo he probado y es Ok.


La franja horaria es GMT +2. Ahora son las 06:19:17.

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