As tecla denovo..
Dei uma pesquisada e não achei no forum,alguem sabe como capturar duas teclas pressionadas junta?
Valeu.
Valeu.
Kroki
Curtidas 0
Respostas
Djjunior
13/02/2008
1º em um form novo crie 2 edits 1 memo
2º a propriedade keyPreview do form coloque true
3º coloque o seguinte código no keyDown do form:
ademais são as outras combinações do shift (deve dar umas 49 hehe) be happy
2º a propriedade keyPreview do form coloque true
3º coloque o seguinte código no keyDown do form:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin Edit1.Text := chr(key); if (ssShift in Shift) and (ssAlt in Shift) then Edit2.Text := ´ ssShift ssAlt ´ else if (ssAlt in Shift) and (ssCtrl in Shift) then Edit2.Text := ´ ssAlt ssCtrl ´ else if (ssCtrl in Shift) and (ssLeft in Shift) then Edit2.Text := ´ ssCtrl ssLeft ´ else if (ssLeft in Shift) and (ssRight in Shift) then Edit2.Text := ´ ssLeft ssRight ´ else if (ssRight in Shift) and (ssMiddle in Shift) then Edit2.Text := ´ ssRight ssMiddle´ else if (ssMiddle in Shift) and (ssDouble in Shift) then Edit2.Text := ´ ssMiddle ssDouble´ else if (ssDouble in Shift) and (ssShift in Shift) then Edit2.Text := ´ ssDouble ssAlt´ else if ssShift in Shift then Edit2.Text := ´ ssShift ´ else if ssAlt in Shift then Edit2.Text := ´ ssAlt ´ else if ssCtrl in Shift then Edit2.Text := ´ ssCtrl ´ else if ssLeft in Shift then Edit2.Text := ´ ssLeft ´ else if ssRight in Shift then Edit2.Text := ´ ssRight ´ else if ssMiddle in Shift then Edit2.Text := ´ ssMiddle´ else if ssDouble in Shift then Edit2.Text := ´ ssDouble´ else Edit2.Text := ´´; end;
ademais são as outras combinações do shift (deve dar umas 49 hehe) be happy
GOSTEI 0
Djjunior
13/02/2008
ops errei... são +/- 140 já que podem haver até 3 ´shifts´´precionados ao mesmo tempo (shift + ctrl + alt)...
o único inconveniente que notei é que o tab não é capturado por essa função
o único inconveniente que notei é que o tab não é capturado por essa função
GOSTEI 0
Kroki
13/02/2008
Não é bem isso que preciso,preciso capturar quando for precionado ´h´e´j´ ao mesmo tempo.Valeu pelo esforço.
GOSTEI 0
Kroki
13/02/2008
Queimei um pouco de retina na Net e achei oque queria:
...
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
If ((GetKeyState(ord(´H´))AND 128)=128)and((GetKeyState(ord(´J´))AND 128)=128)
then ShowMessage(´H e J Pressionadas´);
end;
end.
...
...
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
If ((GetKeyState(ord(´H´))AND 128)=128)and((GetKeyState(ord(´J´))AND 128)=128)
then ShowMessage(´H e J Pressionadas´);
end;
end.
...
GOSTEI 0