Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) como detectar as teclas Q e A pressionadas juntas?


carloacpk

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

segue uma dica aí ...

1. crie uma variável pública (vKey) ...

2. use os eventos OnKeyDown e OnKeyUp, como segue abaixo ...

var
  Form1: TForm1; vKey: array[0..1] of boolean;

implementation

{$R *.dfm}

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
        if Key = 65 then vKey[0]:= true;
        if Key = 81 then vKey[1]:= true;
        if (vKey[0] = true) and (vKey[1] = true) then //teclas A+Q
        begin
                vKey[0]:= false;
                vKey[1]:= false;
                showmessage('oi');
        end;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
        if Key = 65 then vKey[0]:= false;
        if Key = 81 then vKey[1]:= false;
end;

post aki se deu certo ...

abraços !!!

Link para o comentário
Compartilhar em outros sites

  • 0
segue uma dica aí ...

1. crie uma variável pública (vKey) ...

2. use os eventos OnKeyDown e OnKeyUp, como segue abaixo ...

var
  Form1: TForm1; vKey: array[0..1] of boolean;

implementation

{$R *.dfm}

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
        if Key = 65 then vKey[0]:= true;
        if Key = 81 then vKey[1]:= true;
        if (vKey[0] = true) and (vKey[1] = true) then //teclas A+Q
        begin
                vKey[0]:= false;
                vKey[1]:= false;
                showmessage('oi');
        end;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
        if Key = 65 then vKey[0]:= false;
        if Key = 81 then vKey[1]:= false;
end;

post aki se deu certo ...

abraços !!!

muito obrigado cara....funcionou sim...valeu mesmo....

vou postar um duvida sobre video fullscreen se possivel da + uma força...

Link para o comentário
Compartilhar em outros sites

  • 0

só uma dica

quando a expressão é boolean não precisa fazer a comparação com if

exemplo

vKey[0] := (Key = 65);
vKey[1] := (Key = 81);
        if (vKey[0]) and (vKey[1]) then //teclas A+Q
        begin
                vKey[0]:= false;
                vKey[1]:= false;
                showmessage('oi');
        end;

abrxx

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...