KeyDown nos Objetos do Form
Olá galera,
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
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
Curtidas 0
Respostas
Marco Salles
05/07/2006
nun sei se entendi direito
Propriedade KeyPreview do Form em True
depois manipule o evento OnKeyDow Do Form
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
Adriano Santos
05/07/2006
Olá galera,
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
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
Bruno.figueira
05/07/2006
Vlw Adriano Santos pela sua resposta, mas no meu caso o trabalho seria enorme ficar associando o envento em cada objeto
mesmo assim obrigado pela ajuda.
se precisar estamos ae !!!!
:)
mesmo assim obrigado pela ajuda.
se precisar estamos ae !!!!
:)
GOSTEI 0
Bruno.figueira
05/07/2006
Muito obrigado Marco Salles,
funcionou corretamente como vc informou.
Muito obrigado,,,,
Abraço
funcionou corretamente como vc informou.
Muito obrigado,,,,
Abraço
GOSTEI 0