Fórum KeyDown nos Objetos do Form #324789
05/07/2006
0
preciso que os objetos do meu form executem os camando existentes no FormKeyDown.
Obs.: Não posso colocar o evento FormKeyDown em todos os objetos.
Exemplo:
Criei uma rotina de Help [F1] onde explico cada campo de um formulário, essa rotina é chamada no evento OnKeyDown do Form. Preciso que todos os objetos executem o OnKeyDown do Form mas sem eu ter que iniciar o envento OnKeyDown nos Objetos.
Desde de já grato.
Bruno Figueira :D
Bruno.figueira
Curtir tópico
+ 0Posts
05/07/2006
Marco Salles
Propriedade KeyPreview do Form em True
depois manipule o evento OnKeyDow Do Form
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = 112 then begin if activecontrol = Edit1 then //chamo a rotina para o edit1 else if activecontrol = Edit2 then //chamo a rotina para o edit2 else if activecontrol = outrocontrole then //chamo a rotina para o outrocontrole else if etc.... then //chamo a rotina para o etc... end; end;
Gostei + 0
05/07/2006
Adriano Santos
Qual a dificuldade?
[quote:35b9e5ec0d=´Evento onKeyDown do Form´]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Sender is TCheckBox) and (Key = Vk_F1) then ShowMessage(´CheckBox´); if (Sender is TEdit) and (Key = Vk_F1) then ShowMessage(´Edit´); end;
[/quote:35b9e5ec0d]
Agora em todos os componentes vá no onKeyDown e associe o evento ao onKeyDown do Form. Só vai precisar codificar corretamente o KeyDown do form
Gostei + 0
05/07/2006
Bruno.figueira
mesmo assim obrigado pela ajuda.
se precisar estamos ae !!!!
:)
Gostei + 0
05/07/2006
Bruno.figueira
funcionou corretamente como vc informou.
Muito obrigado,,,,
Abraço
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)