Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mouse Bewegung überprüfen (https://www.delphipraxis.net/37274-mouse-bewegung-ueberpruefen.html)

Nils_13 3. Jan 2005 19:05


Mouse Bewegung überprüfen
 
Hi,

ich möchte (wie bei einem Bildschirmschoner) prüfen ob sich die Mouse bewegt, wenn ja wird das Programm geschlossen, es gibt da irgendeine möglichkeit mit den WindowsMessages, aber in der Unit finde ich nicht die procedure, gibt es noch andere Lösungen, oder könnt ihr mir die WindowsMessages Lösung sagen?

Torpedo 3. Jan 2005 19:07

Re: Mouse Bewegung überprüfen
 
Du kannst mit Mouse.CursorPos.X bzw Y die Position in einer Variable speichern und später überprüfen, ob sich die Position geändert hat.

Oxmyx 3. Jan 2005 19:13

Re: Mouse Bewegung überprüfen
 
Die Windows-Message, die beim Bewegen der Maus gesendet wird, heißt WM_MOUSEMOVE.

Airblader 3. Jan 2005 19:18

Re: Mouse Bewegung überprüfen
 
Für dich dürfte das hier wohl genügen:

Delphi-Quellcode:
procedure TForm1.HandleMessage(var Msg:TMessage);
begin
 if Msg.msg = WM_MOUSEMOVE then
   Form1.Close();

 Form1.wndproc(Msg);
end;

procedure TForm1.OnCreate(Sender:Tobject);
begin
 Form1.Windowproc:=Form1.HandleMessage;
end;
Das ganze ist ein etwas umgebauter Code von hier

Muetze1 3. Jan 2005 21:46

Re: Mouse Bewegung überprüfen
 
Moin!

Empfehlung: überall "Form1." weglassen oder wenn, dann "Self." nehmen. Der Code ist nicht mehr brauchbar, wenn man die Form1 Variable nicht mehr nutzt oder hat. Warum eine Klasse die mehrfach instanziierbar ist dadurch auf eine Instanz beschränken auf die ihre Funktionalität wirkt?

MfG
Muetze1

Nils_13 5. Jan 2005 16:09

Re: Mouse Bewegung überprüfen
 
Hi,

1. der Code läuft nicht (der Code erfüllt nicht den Sinn für einen Bildschirmschoner)
2.
Delphi-Quellcode:
if ParamCount > 0 then begin
  if ParamStr(1) = '/c' then
  else if ParamStr(1) = '/s' then
  else Application.Terminate;
end else  Application.Terminate;
wird leider wie der code von Airblader sofort geschlossen zumindest bei mir, das Create Ereignis benötigt man sowieso für den Bildschirmschoner, weil man ihn sonst nicht in den Desktop-Eigenschaften auswählen kann.

malo 5. Jan 2005 16:26

Re: Mouse Bewegung überprüfen
 
Was spricht denn gegen das OnMouseMove-Event? :gruebel:

Nils_13 5. Jan 2005 16:28

Re: Mouse Bewegung überprüfen
 
Probiers aus, dann wird es dir schon auffallen, das OnMouseMove nur bedeuted, dass die Mouse sich über einem Objekt oder einer Form befindet.

flomei 5. Jan 2005 16:33

Re: Mouse Bewegung überprüfen
 
http://www.mephzara.com/wiki/wiki_g....chonerTutorial
http://www.tutorialbox.com/tutors/delphi/Tut.htm
...
Diese Liste könnte noch so lang werden aber warum nicht einfach mal selber suchen?
Bei Google suchenDelphi AND Screensaver AND Tutorial Hier im Forum suchenScreensaver OR Bildschirmschoner [df]Screensaver OR Bildschirmschoner[/df]

Warum suchen die Leute nicht erstmal... :roll:

MFG Florian :hi:

Nils_13 5. Jan 2005 17:11

Re: Mouse Bewegung überprüfen
 
Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
inc(MMoveClose);
if MMoveClose > 3 then close;
end;
Wird in 3 Sekunden geschlossen ... verdammt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr.
Seite 1 von 2  1 2      

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