![]() |
Delphi-Version: 5
Globales OnKeyPress/OnMouseMove + TTimer.Reset?
Moin Forum,
gibt es ein globales OnKeyPress/OnMouseMove? Und kann ich einen TTimer Resetten? Hintergrund ist der, dass ich in meiner App, wenn X Minuten keine Taste gedrückt wurde bzw. die Maus nicht bewegt wurde einen Event auslösen. Nun wäre es recht sinnbefreit bei jeder Komponente die Events abzufangen und dann entsprechend den Timer zu setzen. Daher die Frage nach einer Globalen Möglichkeit, wenn es sowas geben soll. Und kann ich einen TTimer resetten, d.h. dass er wieder bei 0 anfängt zu zählen? Vielen Dank für Hinweise. :) Sonnige Grüsse, easy. |
AW: Globales OnKeyPress/OnMouseMove + TTimer.Reset?
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean); begin if MSG.message=WM_MouseMove then begin Timer1.enabled := false; Timer1.enabled := true; end; if MSG.message=WM_KeyDown then begin Timer1.enabled := false; Timer1.enabled := true; end; end; Wobei ich den Timer nicht zurücksetzen würde sondern z.B. FLastAction := GetTickCount(); setzen würde und im Timer checken ob GetTickCount - FLastAction > was auch immer Du vorhast. |
AW: Globales OnKeyPress/OnMouseMove + TTimer.Reset?
Hallo,
Zitat:
Zitat:
Sonnige Grüsse, easy. |
AW: Globales OnKeyPress/OnMouseMove + TTimer.Reset?
Reset (wurde ja schon gesagt):
Delphi-Quellcode:
Wobei man auch das Intervall kurz ändern kann, aber so ist es wohl besser.
Timer.Enable := False;
Timer.Enable := True; Oder du hast einen fortlaufenden Timer (z.B. im Minutenintervall), merkst dir in ApplicationEvents1Message die Zeit des letzten Ereignisses, und prüfst im Timer wie lange das letzte Event schon her ist. Zitat:
> Timer bis Timeout > kürzerer Timer, welcher auf das letzte Ereignis prüft. Je nach Anzahl der Events/Ereignisse kann ein das Eine oder Andere Resourcenschonender sein. |
AW: Globales OnKeyPress/OnMouseMove + TTimer.Reset?
Da es aus deiner Frage, jedenfalls für mich, noch nicht klar hervorgeht:
Wenn du wissen möchtest, wann die letzte Eingabe in deinem Programm getätigt wurde, hast du ja schon einige Tipps bekommen. Soll das ganze aber systemweit funktionieren, also auch außerhalb deiner Anwendung, bietet sich ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz