Capturar Mouse
Olá pessoal.
Tem como lançar um evento toda vez que o mouse for clicado, não importando onde ele foi clicado?
Agradeço antecipadamente.
Tem como lançar um evento toda vez que o mouse for clicado, não importando onde ele foi clicado?
Agradeço antecipadamente.
Flaviosan
Curtidas 0
Respostas
Max.jgs
03/01/2005
Olá pessoal.
Tem como lançar um evento toda vez que o mouse for clicado, não importando onde ele foi clicado?
Agradeço antecipadamente.
Vá no evento OnClick e digite a linha de código.
Ex:
procedure TForm1.FormClick(Sender: TObject);
begin
ShowMessage(´Teste´);
end;
Ass: Max...
GOSTEI 0
Andremuller
03/01/2005
A dica aterior não funcionará para o click em qualquer local do form, apenas para o click no form. Para testar apenas coloque um panel no form e verá que a mensagem não aparecerá para os cliques no panel.
Para setar o clique de todos os componentes então tu podes utilizar um método como
sendo que ele vai ignorar qualquer outra referência para outros OnClick.
Eu dei uma olhada rápida e não achei tenhum typecast geral para os componentes visuais, se tu achar, melhor, não precisa escrever para cada classe como eu fiz (TPanel e TButton), porque na TControl o TNotifyEvent OnClick está como protected.
Se tua intenção é outra ou estás com dúvida, envie outra mensagem para o fórum.
Para setar o clique de todos os componentes então tu podes utilizar um método como
procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin for i := 0 to ComponentCount - 1 do begin if Components[i] is TControl then if Components[i] is TButton then (Components[i] as TButton).OnClick := FormClick else if Components[i] is TPanel then (Components[i] as TPanel).OnClick := FormClick else raise Exception.Create(´Componente não tratado. ´ + Components[i].Name); end; end;
sendo que ele vai ignorar qualquer outra referência para outros OnClick.
Eu dei uma olhada rápida e não achei tenhum typecast geral para os componentes visuais, se tu achar, melhor, não precisa escrever para cada classe como eu fiz (TPanel e TButton), porque na TControl o TNotifyEvent OnClick está como protected.
Se tua intenção é outra ou estás com dúvida, envie outra mensagem para o fórum.
GOSTEI 0
Flaviosan
03/01/2005
Obrigado pessoal pela ajuda, mas eu achei um modo melhor de fazer isso. Usando o evento oncreate do form, eu criei uma procedure que monitora o eventos do mouse, atraves do evento Application.OnMessage, em qualquer lugar do form. Se alguem precisar de ajuda, é só pedir.
Obrigado pela ajuda.
Obrigado pela ajuda.
GOSTEI 0
Dpinho
03/01/2005
Obrigado pessoal pela ajuda, mas eu achei um modo melhor de fazer isso. Usando o evento oncreate do form, eu criei uma procedure que monitora o eventos do mouse, atraves do evento Application.OnMessage, em qualquer lugar do form. Se alguem precisar de ajuda, é só pedir.
Obrigado pela ajuda.
Amigo estou tentando fazer uma rotina onde reconheço que o mouse foi movido ou clicado, parecido com o descanso de tela quero que aparecça os componentes somente se utilizar o mouse e se ficar alguns minutos sem utilizar faz desaparecer os componentes...poderia ajudar
GOSTEI 0