Selecao DevMedia QUERO SER PRIME

Fórum Ir para formulario principal apos nao ativar teclado #336387

17/01/2007

0

Pessoal, preciso de uma dica de como fazer para,
eu estar em um formulario, mas não estou usando
ou seja não teclei nem usei o mouse. O programa
volta automaticamente para o formulario principal,
apos algum tempo especificado por mim.

Agradecido
joao


Joao1313

Joao1313

Responder

Posts

18/01/2007

Vispo

Vc pode usar o componente Timer e definir o intervalo de repetição de acordo com o tempo que vc quer, e programá-lo para exibir o formulário principal.


Responder

Gostei + 0

18/01/2007

Joao1313

Bispo obrigado, deste jeito ja esta funcionando. As vezes
agente esta trabalhando no formulario ele se fecha,
porque ja deu o tempo pre-definido. O que eu preciso
é apos um certo tempo que ninguem estiver
trabalhando nele o mesmo se feche.

Agradecido
joao


Responder

Gostei + 0

18/01/2007

Joaoshi

Colega, acredito que para resolver deva utilizar o componente ApplicationEvents.

- Colocar o componente ApplicationEvents (da additional)
- No evento [b:2248e6d531]onIdle[/b:2248e6d531] você inicia o timer para fechar o form.

Espero ter ajudado.


Responder

Gostei + 0

18/01/2007

Joao1313

JoaoSHI, fiz assim mas não atendeu.

procedure TForm1.ApplicationEventsIdle(Sender: TObject; var Done: Boolean);
begin
Timer1.Enabled:= true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
form1.Show;
end;

end.

Não importa se estou teclando ou não o form1 vai
para show.

Agradecido
joao


Responder

Gostei + 0

18/01/2007

Joaoshi

Colega

procedure TForm1.ApplicationEventsIdle(Sender: TObject; var Done: Boolean);
begin
// a aplicação ficou ociosa inicia o timer
Timer1.Enabled:= true;
end;

Você deve chamar FORM1 a partir do click de um button (por exemplo)
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Show;
end;

// se teve algum movimento parar o timer1.
No evento OnMessage do ApplicationEvents:
if (Msg.message = WM_KEYDOWN) or
(Msg.message = WM_LBUTTONDOWN) or (Msg.message = WM_RBUTTONDOWN) or
(Msg.message = WM_SYSKEYDOWN) then
Timer1.Enabled := False;



procedure TForm1.Timer1Timer(Sender: TObject);
begin
form1.Close;
end;

Espero ter ajudado.


Responder

Gostei + 0

19/01/2007

Joao1313

JoaoShi, deu certo.

Abraços e obrigado a todos
joao


Responder

Gostei + 0

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

Aceitar