Mausgeschwindigkeit ändern im Programm?
-
Hallo,
gibt es eine möglichkeit die mausgeschwindigkeit in einem programm
zu verändern???Falls nicht hätte man ja die möglichkeit im onmousemove-event
CDialog::OnMouseMove(UINT nFlags, CPoint point);den parameter point zu verändern, aber kann man den mauszeiger auch
auf die geänderte position bewegen??Ich nutz VC++ 2003 std. , und möchte ein kleines malprogramm erstellen
wo die malfläche nicht 'gezoomt' wird sondern ein kleines extra-fenster
vorhanden ist, quasi als lupe, mit verschiedenen zoomstufen. nun sollte
die mausgeschwindigkeit aber abhängig von der zoomstufe sein.thx
-
Die Mausgeschwindigkeit lässt sich nur Systemweit festlegen und eignet sich dafür also nicht. Siehe SystemParametersInfo, SPI_SETMOUSESPEED
http://msdn2.microsoft.com/en-us/library/ms724947.aspxDu kannst Jederzeit in Deinem Program SetCursorPos die Cursorposition verändern!
-
systemweite änderung kann ich nicht machen,
also versuch ichs mittels setcursorpos().Danke...
-
Versuch einfach mal WM_MOUSEMOVE abzufangen. Dann weißt Du wie weit der User die Mausbewegung machen wollte, anschließend setzt Du einfach mit SetCursorPos den Wert dahin (verzögert an die Stelle, an die Du es möchtest.
-
Martin Richter schrieb:
Versuch einfach mal WM_MOUSEMOVE abzufangen. Dann weißt Du wie weit der User die Mausbewegung machen wollte, anschließend setzt Du einfach mit SetCursorPos den Wert dahin (verzögert an die Stelle, an die Du es möchtest.
Und bekommst daraufhin wieder ein WM_MOUSEMOVE? Oder irre ich mich da jetzt?
-
Das ist korrekt. Allerdings kan man das ja leicht blockieren, indem man ein Flag setzt.