Tecla de atalho

16/02/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?


Alex Maia

Respostas

17/02/2006

Paullsoftware

pode ser que te ajude...


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (ssCtrl in Shift) and (chr(Key) in [´A´, ´a´&93;) then
ShowMessage(´Ctrl-A´);
end;


não esqueça de mudar a propriedade [b:973fced5f1]KeyPreview = True[/b:973fced5f1]


Responder Citar

17/02/2006

Alex Maia

Isso não funciona!!!


Responder Citar

17/02/2006

Alex Maia

Alguem pode me ajudar??


Responder Citar

17/02/2006

Paullsoftware

[quote:16cc863a29=´Alex Maia´]Isso não funciona!!![/quote:16cc863a29]

funciona sim...

diga onde ta o erro! :shock:


Responder Citar

17/02/2006

Paullsoftware

[quote:d77711c3f0=´Alex Maia´]Isso não funciona!!![/quote:d77711c3f0]

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:


Responder Citar

18/02/2006

Lindomar.des

Alex,

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


Responder Citar

19/02/2006

Paullsoftware

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


foi o que eu disse pra ele

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



Responder Citar

19/02/2006

Pro-luck

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


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


Responder Citar