Tecla de atalho
16/02/2006
0
Estou querendo usar as teclas Shift+F2, Shift+F3 e Shift+F4 para chamar as funções de botões em um form mas não consigo. Alguem pode me ajudar?
Alex Maia
Posts
17/02/2006
Paullsoftware
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (ssCtrl in Shift) and (chr(Key) in [´A´, ´a´]) then ShowMessage(´Ctrl-A´); end;
não esqueça de mudar a propriedade [b:973fced5f1]KeyPreview = True[/b:973fced5f1]
17/02/2006
Paullsoftware
funciona sim...
diga onde ta o erro! :shock:
17/02/2006
Paullsoftware
tente adaptar para o seu modo... tipo
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and ( key = vk_f1 ) then
ShowMessage(´Ctrl-F1´);
end;
use a ferramenta de busca do forum e vai achar bem mais informações sobre as teclas de função! :wink:
18/02/2006
Lindomar.des
Verifique a propriedade KeyPreview do form, deve estar True para funcionar
19/02/2006
Paullsoftware
foi o que eu disse pra ele
19/02/2006
Pro-luck
existem formas e formas de fazer isso .. vou te exmplificar duas:
1ª: Evendo OnKeyDown do form.
coloque o seguinte codigo dentro do evento:
if Shift = [] then
case Key of
VK_F1: btnAjuda.click;
VK_F2: btnProcura.click;
VK_Fnn: ....//implementaas outras teclas aki
end;
nao esqueca de mudar a propriedade KeyPreview do form para true
2ª: Uso do ActionList
coloque na tela um componente ActionList (Aba de Componentes Standard do Delphi), de um duplo clique e ele vai abrir a lista de Acoes .. inclua uma para cada botao .. configure ela e depois no evento Onclick dela coloque o codigo desejado para a acao... nao esqueca de colocar a tecla de atalho na ação. Depois va nas propriedades do botao e coloque na propriedade Action a acao que vc criou.
aih .. soh alegria
*******************************************************
No evento onkeydown do form coloque..
Código:
if not((ssctrl in shift) or (ssalt in shift) or (ssshift in shift)) then begin
begin
if key=vk_f2 then begin
//sua função//
end
else
if key=vk_f3 then begin
end
else
if key=vk_f4 then begin
end
else
if key=vk_f5 then begin
end
else
if key=vk_f8 then begin
end
else
if key=vk_escape then begin //aki prescionando a tecla ESC ..dá um close no form...
close;
end;
end;
t+...acho que é isso que vc prescisa..
*********************************************************
Clique aqui para fazer login e interagir na Comunidade :)