Fórum KeyDown nos Objetos do Form #324789

05/07/2006

0

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


Bruno.figueira

Bruno.figueira

Responder

Posts

05/07/2006

Marco Salles

nun sei se entendi direito

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;



Responder

Gostei + 0

05/07/2006

Adriano Santos

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


Responder

Gostei + 0

05/07/2006

Bruno.figueira

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 !!!!
:)


Responder

Gostei + 0

05/07/2006

Bruno.figueira

Muito obrigado Marco Salles,
funcionou corretamente como vc informou.

Muito obrigado,,,,

Abraço


Responder

Gostei + 0

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

Aceitar