teclas de atalho qdo nao é o form principal
Boa noite!!!
Qdo uso teclas de atalho no form principal funciona normalment, mas qdo do form principal abro um segundo form não funciona as teclas de atalho..
uso a seguinte rotina:
procedure TFrmBalanco.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F1 then
NovoBalancoClick(sender);
if Key = VK_F2 then
SpeedButton1Click(Sender);
if Key = VK_F6 then
ModificarBalancoClick(sender);
if Key = VK_F7 then
SalvarBalancoClick(sender);
end;
não funciona no segundo form!!!!
alguém tem uma dica?
Qdo uso teclas de atalho no form principal funciona normalment, mas qdo do form principal abro um segundo form não funciona as teclas de atalho..
uso a seguinte rotina:
procedure TFrmBalanco.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F1 then
NovoBalancoClick(sender);
if Key = VK_F2 then
SpeedButton1Click(Sender);
if Key = VK_F6 then
ModificarBalancoClick(sender);
if Key = VK_F7 then
SalvarBalancoClick(sender);
end;
não funciona no segundo form!!!!
alguém tem uma dica?
Rogsystem
Curtidas 0
Respostas
Dankada
06/07/2004
Boa noite!!!
Qdo uso teclas de atalho no form principal funciona normalment, mas qdo do form principal abro um segundo form não funciona as teclas de atalho..
uso a seguinte rotina:
procedure TFrmBalanco.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F1 then
NovoBalancoClick(sender);
if Key = VK_F2 then
SpeedButton1Click(Sender);
if Key = VK_F6 then
ModificarBalancoClick(sender);
if Key = VK_F7 then
SalvarBalancoClick(sender);
end;
não funciona no segundo form!!!!
alguém tem uma dica?
rapaz no form2 coloque a mesma coisa no evento FormKeyDown, se naum for isso q vc quer posta ai.
GOSTEI 0
Rogsystem
06/07/2004
foi isso q eu fiz mas nao acontece nada
GOSTEI 0
Dankada
06/07/2004
essas procedures estao no forum1 (interrogação) se estiverem faz isso
ps. meu teclado esta desconfigurado por isso naum tem interrogacao :lol: :lol:
procedure Tform2.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_F1 then form1.NovoBalancoClick(sender); if Key = VK_F2 then form1.SpeedButton1Click(Sender); if Key = VK_F6 then form1.ModificarBalancoClick(sender); if Key = VK_F7 then form1.SalvarBalancoClick(sender); end;
ps. meu teclado esta desconfigurado por isso naum tem interrogacao :lol: :lol:
GOSTEI 0
Fknyght
06/07/2004
Faz o seguinte
defina no seu on create do formulario principal a linha abaixo
[b:b6eea6051f]Application.OnMessage := AppMessage;[/b:b6eea6051f]
Depois crie a função appMessage como mostrado
Na clausula private do TFORM defina a linha abaixo
[b:b6eea6051f]procedure AppMessage(var Msg: TMsg; var Handled: Boolean);[/b:b6eea6051f]
E pronto hehe :)
Toda tecla que voce precionar vai ser processada na procedure APPMESSAGE
Espero ter ajudado
defina no seu on create do formulario principal a linha abaixo
[b:b6eea6051f]Application.OnMessage := AppMessage;[/b:b6eea6051f]
Depois crie a função appMessage como mostrado
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
inherited;
if msg.wParam = VK_F1 then
ShowMessage(´F1 apertado´);
if msg.wParam = VK_F2 then
ShowMessage(´F2 apertado´);
if msg.wParam = VK_F3 then
ShowMessage(´F3 apertado´);
End;
Na clausula private do TFORM defina a linha abaixo
[b:b6eea6051f]procedure AppMessage(var Msg: TMsg; var Handled: Boolean);[/b:b6eea6051f]
E pronto hehe :)
Toda tecla que voce precionar vai ser processada na procedure APPMESSAGE
Espero ter ajudado
GOSTEI 0
Thiago Vidal
06/07/2004
Pode parecer meio óbvio, mas como ninguém deu a idéia entao eu vou falar...
A propriedade KeyPreview do seu form secundário está como True?
KeyPreview faz com que toda tecla pressionada no form, vá também para o evento OnKeyDown do form, e não só do Controle com o Foco.
Talvez a melhor solução para o seu problema seja criar uma TActionList e associar uma tecla de atalho para cada action que voce tiver, e implementar o metodo para executar esta Action no método OnExecute.
Espero ter ajudado.... quaisquer dúvidas sobre Actions, o Help do Delphi é sempre um bom lugar para pesquisar.
A propriedade KeyPreview do seu form secundário está como True?
KeyPreview faz com que toda tecla pressionada no form, vá também para o evento OnKeyDown do form, e não só do Controle com o Foco.
Talvez a melhor solução para o seu problema seja criar uma TActionList e associar uma tecla de atalho para cada action que voce tiver, e implementar o metodo para executar esta Action no método OnExecute.
Espero ter ajudado.... quaisquer dúvidas sobre Actions, o Help do Delphi é sempre um bom lugar para pesquisar.
GOSTEI 0