Entwickler-Ecke

Sonstiges (Delphi) - Anwendung bei Inaktivität Schliessen/Minimieren


Quintana - Mi 02.10.02 10:16
Titel: Anwendung bei Inaktivität Schliessen/Minimieren
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 - Mi 02.10.02 11:30

Moin erstmal,

hier haste mal ein ganz einfaches Beispiel:


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.


Quintana - 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