Fórum Função para que sirva pra todos os forms #343594
24/07/2007
0
Ex.: Tenho um sistema que usa uma calculadora que uso o seguinte comando para abri-la.
if Key = VK_F10 then
begin
FrmCalculadora.Show
Key :=0;
end;
Só que tenho que fazer isso para cada form do sistema. Gostaria de saber se tem alguma forma de fazer uma função só que sirva para todos os forms, para quando eu pressionar F10 em qualquer form. abrir a calculadora.
Visualdesigner
Curtir tópico
+ 0Posts
24/07/2007
Vitor Alcantara
Um modo simples mais eficaz seria utilizando um TMainMenu e colocalo em seu form principal dai você colocar o botão de atalho (a propriedade ShortCut) do item com a combinação que você escolher, isso deverá servir para todos os forms que forem inicializados sem ShowModal.
procedure TFormPrincipal.Calculadora1Click(Sender: TObject);
begin
FrmCalculadora.Show;
end;
Gostei + 0
24/07/2007
Vitor Alcantara
ApplicationEvents1
procedure TFormPrincipal.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin case Msg.Message of WM_KEYDOWN : begin //Fica escutando o evento de precionamento de teclas if Msg.wParam = VK_F10 then //Verifica se a tecla F10 foi apertada begin //Executa o form FrmCalculadora FrmCalculadora.Show; end; end ; end; end;
Gostei + 0
25/07/2007
Visualdesigner
Gostei + 0
25/07/2007
Vitor Alcantara
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin case Msg.Message of WM_KEYDOWN, WM_SYSCHAR, WM_SYSKEYDOWN : begin if Msg.wParam = VK_F10 then SHOWMESSAGE(´CALCULADORA´); end ; end ; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)