Array
(
)

Tecla de atalho

Alex Maia
   - 16 fev 2006

Caros amigos,

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?


Paullsoftware
   - 17 fev 2006

pode ser que te ajude...


#Código

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 KeyPreview = True


Alex Maia
   - 17 fev 2006

Isso não funciona!!!


Alex Maia
   - 17 fev 2006

Alguem pode me ajudar??


Paullsoftware
   - 17 fev 2006


Citação:
Isso não funciona!!!


funciona sim...

diga onde ta o erro! :shock:


Paullsoftware
   - 17 fev 2006


Citação:
Isso não funciona!!!


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:


Lindomar.des
   - 18 fev 2006

Alex,

Verifique a propriedade KeyPreview do form, deve estar True para funcionar


Paullsoftware
   - 19 fev 2006


Citação:
Alex,

Verifique a propriedade KeyPreview do form, deve estar True para funcionar


foi o que eu disse pra ele


Citação:
não esqueça de mudar a propriedade KeyPreview = True



Pro-luck
   - 19 fev 2006

Eu utilizei isso e serviu-me, tente vc...

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


*********************************************************