Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   que el form reconozca cuando presiono una tecla (https://www.clubdelphi.com/foros/showthread.php?t=89170)

branncg 08-10-2015 21:10:29

que el form reconozca cuando presiono una tecla
 
hola!, quisiera que me ayuden un poco con esta duda, necesito que el formulario me reconozca cuando presiono la tecla R, para que ejecute cierta instruccion, ya lo reconoce cuando presiono las teclas arriba abajo izquierda y derecha, con esto:

Código Delphi [-]
procedure TForm2.FormKeyDown(Sender: TObject; 
 var Key: Word; Shift: TShiftState);
begin
  if key=vk_up then
    juego.mover('S',canvas);

  if key=vk_left then
    juego.mover('I',canvas);

  if key=vk_down then
    juego.mover('B',canvas);

  if key=vk_right then
    juego.mover('D',canvas);
end;

desde los eventos le di doble clic en on key down y con eso pude hacer que reconozca arriba abajo izquierda y derecha, ahora, para que reconozca la R?, es en otro evento?, o es ahi mismo pero otro codigo, porque al poner if key=R o if key=vk_R, sale error, por favor alguien que me pueda ayudar se lo agradeceria mucho

roman 08-10-2015 21:13:48

¿Qué tal?

Usa etiquetas [delphi] para escribir código.

Prueba usando el evento OnKeyPress:

Código Delphi [-]
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if UpCase(Key) = 'R' then
    ShowMessage('Presionaste R');
end;

// Saludos

branncg 08-10-2015 21:28:33

gracias! me funciono, y si quiero que reconozca R + tecla derecha??

ecfisa 08-10-2015 21:40:07

Hola branncg.
Cita:

Empezado por branncg (Mensaje 497735)
gracias! me funciono, y si quiero que reconozca R + tecla derecha??

Usando el evento OnKeyPress, podes hacer:
Código Delphi [-]
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if (GetKeyState(VK_RIGHT) < 0) and (UpCase(Key) = 'R') then
    ShowMessage('Presionaste tecla derecha + R');
end;

Saludos :)

branncg 08-10-2015 21:49:25

muschas gracias!!!


La franja horaria es GMT +2. Ahora son las 02:37:50.

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