PDA

Ver la Versión Completa : que el form reconozca cuando presiono una tecla


branncg
08-10-2015, 21:10:29
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:


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 para escribir código.

Prueba usando el evento OnKeyPress:

[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.
gracias! me funciono, y si quiero que reconozca R + tecla derecha??

Usando el evento OnKeyPress, podes hacer:

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!!!