Fórum Função genérica para teclas de atalho #370370

11/05/2009

0

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

Responder

Posts

12/05/2009

Lauro.balceiro

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.


Responder

Gostei + 0

13/05/2009

Lauro.balceiro

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


Responder

Gostei + 0

14/05/2009

Woinch

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar