Autor Beitrag
Quintana
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 02.10.02 10:16 
Hallo!
Ich möchte sobald meine Anwendung gestartet ist und die Maus sich nicht mehr bewegt, einen Inaktivitätstimer antriggern. Läuft dieser Timer ab, so möchte ich eine Aktion ausführen, z.B. die Anwendung minimieren. Sobald die Maus wieder bewegt wird, soll der Timer natürlich wieder gelöscht werden.
Hat jemand ne Idee, wie ich das realisieren kann?

Danke in Voraus

Gruss aus Hamburg
Uwe
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Mi 02.10.02 11:30 
Moin erstmal,

hier haste mal ein ganz einfaches Beispiel:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Timer1.Enabled := False;
  Timer1.Enabled := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Application.Minimize;
  Timer1.Enabled := False;
end;


Jo, wie man sieht, stellt der Code den Timer aus und wieder ein, wenn es Bewegt wurde. Aja, probiers einfach mal aus. Müsste eigentlich funtzen. Habe den Code aber nicht getestet.

_________________
Viele Grüße
Jakob
Quintana Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 02.10.02 12:46 
Moin!
Hmm, das ist sehr einfach, klappt aber prima. Hätte ich auch selber drauf kommen können. :o)
ABER ich habe natürlich nicht nur ein Form sondern mehrere Elemente (DataGrid, Buttons, Labels,...). Muss ich jetzt bei jedem Element unter OnMouseMove den Timer aus/einschalten? Ist ziemlich umständlich. Oder ist es möglich, dass ich allen Elementen die OnMouseMove-Funktion vom MainForm geben kann?

DANKE

Gruss Uwe