Função genérica para teclas de atalho

Delphi

11/05/2009

Pessoal,

Gostaria de saber como faço para criar uma função genérica para minhas teclas de atalho...

procedure onKeyDown(Sender : TObject; var Key: Word; Shift: TShiftState);
begin

end;
[code]

o problema dessa função seria chamar o metodo click de um botão que tenho no meu form... como chamar esse método???



Lauro.balceiro

Lauro.balceiro

Curtidas 0

Respostas

Lauro.balceiro

Lauro.balceiro

11/05/2009

O que quero é basicamente criar uma UNIT que terá um método com essa assinatura:

procedure teclasDeAtalho(frm : TForm; Sender : TObject; var Key: Word; Shift: TShiftState); 
begin 
//aqui deve chamar uma procedure do form passado como parametro
end;


no evento onKeyDown do meu Form e chamaria essa função teclasDeAtalho passando os parametros necessários e teclas de atalho por sua vez chamaria uma determinada procedure do form passado como parametro.


GOSTEI 0
Lauro.balceiro

Lauro.balceiro

11/05/2009

e ai pessoal, será que não tem como fazer isso?


GOSTEI 0
Woinch

Woinch

11/05/2009

O que faltou foi ser mais detalhista e menos impaciente.

Deixa eu ver se entendi:
 
procedure TForm1.FormKeyDown(Sender : TObject; var Key: Word; Shift: TShiftState); 
begin
   teclasDeAtalho(Self, Sender, Key, Shift); 
end; 

procedure teclasDeAtalho(frm : TForm; Sender : TObject; var Key: Word; Shift: TShiftState); 
begin 
  //se pressionar ctrl + c chama EventoQueQueroChamar do form em que foi apertado a tecla ctrl + c
  if ((ssCtrl in Shift) and
      (Key = Ord(´C´))) then
    frm.EventoQueQuerChamar;

end; 


Era isso?
PS: Não esqueça de ativar a propriedade KeyPreview de todos os Forms.

Qualquer dúvida favor postar.


GOSTEI 0
POSTAR