Duvidas if Key Tform1
Olá pessoal boa tarde
Como faço para ultilizar o seguinte codigo
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_up Then
ShowMessage('Apertou Up'); if Key = VK_left Then
ShowMessage('Apertou down'); if Key = VK_left Then
ShowMessage('Apertou left'); if Key = VK_right Then
ShowMessage('Apertou rigth'); end; bem agora vao as duvidas, não consigo trocar as teclas VK_up para a tecla W ou outra sucestivamente, pesquisei mas nao consegui fazer if key = #87 then (instrução) bem ai tem outro problema com as teclas, a tela do programa possui o desenho das teclas direcionais up, down, left e rigth, quando eu clico com o mouse sobre elas a msg aparece, ai quando eu tendo aperta-las pelo teclado novamente não aciona mais, pois os botoes ficaram selecionados, ai as teclas do teclado funcionam no modo apenas selecionar os botoes, já tentei Tabstop false, mas não adiantou, esse selecionamento esta comprometentdo o funcionamento das teclas, como faço para que quando eu clique como o mouse sobre ela ela faça o comando e volte ao estado nao selecionado?
Shift: TShiftState);
begin
if Key = VK_up Then
ShowMessage('Apertou Up'); if Key = VK_left Then
ShowMessage('Apertou down'); if Key = VK_left Then
ShowMessage('Apertou left'); if Key = VK_right Then
ShowMessage('Apertou rigth'); end; bem agora vao as duvidas, não consigo trocar as teclas VK_up para a tecla W ou outra sucestivamente, pesquisei mas nao consegui fazer if key = #87 then (instrução) bem ai tem outro problema com as teclas, a tela do programa possui o desenho das teclas direcionais up, down, left e rigth, quando eu clico com o mouse sobre elas a msg aparece, ai quando eu tendo aperta-las pelo teclado novamente não aciona mais, pois os botoes ficaram selecionados, ai as teclas do teclado funcionam no modo apenas selecionar os botoes, já tentei Tabstop false, mas não adiantou, esse selecionamento esta comprometentdo o funcionamento das teclas, como faço para que quando eu clique como o mouse sobre ela ela faça o comando e volte ao estado nao selecionado?
Moises Godoi
Curtidas 0
Respostas
Marcos Iwazaki
09/08/2010
if key = 87 then
GOSTEI 0
Moises Godoi
09/08/2010
Sim consegui obrigado, agora fica a duvida sobre o selecionamento dos botoes no programa, para cancelar quando solto, pois estou tentando ultilizar as teclas direcionais e esta comprometendo o funcionamento delas.
GOSTEI 0
Marcos Iwazaki
09/08/2010
Não entendi, o que vc quer fazer agora.
GOSTEI 0
Felipe Caputo
09/08/2010
se vai funcionar pelas teclas, é necessário que o usuário possa clicar nos botões?
esse código vai no on key down do form (keypreview = true)
Código:If key = vk_up then
btnupclick(btnup)
else If key = vk_down then
btndownclick(btndown)
else If key = vk_left then
btnleftclick(btnleft)
else If key = vk_right then
btnrightclick(btnright);
nos botões você coloca o código que tem q ter neles + um setfocus em um label qualquer do programa
esse código vai no on key down do form (keypreview = true)
Código:If key = vk_up then
btnupclick(btnup)
else If key = vk_down then
btndownclick(btndown)
else If key = vk_left then
btnleftclick(btnleft)
else If key = vk_right then
btnrightclick(btnright);
nos botões você coloca o código que tem q ter neles + um setfocus em um label qualquer do programa
GOSTEI 0