![]() |
Maus verlangsamen
Hi,
ich hab ein Vergrößerungsglas, das ein Ausschnitt aus einem Images vergrößert. Dieses Glas folgt der Maus. Jetzt würde ich gerne, dass die Maus bei gedrückter Shifttaste sich langsamer bewegt, so dass man die Maus besser positionieren kann (z.B. um genau einen Rand abzufassen). Wie würdet ihr sowas angehen? |
Re: Maus verlangsamen
Zitat:
ich wuerde es ueber die "Windows System Steuerung Mausgeschwindigkeit" also API versuchen. Da merkst Du Dir den Originalwert..und verzoegerst einfach bei Wunsch. Die Funktion findest sicher in der Hilfe. :hi: |
Re: Maus verlangsamen
Hi,
das wird z.B. bei mir nicht funktionieren, da ich schon den kleinsten Wert eingestellt habe (dafür die DPI-Zahl der Maus recht hoch). Es sollte unabhängig davon sein. |
Re: Maus verlangsamen
Zitat:
|
Re: Maus verlangsamen
Hi,
der Gedanke wuselt mir ja auch im Kopf rum, aber vielleicht hat ja jemand noch eine bessere Idee. |
Re: Maus verlangsamen
Zitat:
|
Re: Maus verlangsamen
Zitat:
DPI / ms oder so? Diese dann wie gesagt auf einen Standardwert (DPI = wenig, geschwindigkeit = wenig) zu setzen und anschließend wieder auf den Ursprungswert zu setzen? Nur so ne Idee... |
Re: Maus verlangsamen
In den Registry steht die Mausgeschindigkeit auch drinnen, die kann man auch ändern.
|
Re: Maus verlangsamen
Larsi:
Zitat:
So genau muss es nicht mal sein, einfach nur langsamer. Aber ich bin gerade am Rumprobieren. |
Re: Maus verlangsamen
dimmen !??!
|
Re: Maus verlangsamen
Was willst Du mir damit sagen?
|
Re: Maus verlangsamen
HI,
ich würd mir den aktuellen Punkt merken und bei einer Mausbewegung den Punkt nur um den halben Abstand ändern. Du kannst aber auch die Maus ausblenden, musst sie dafür selbst zeichnen. Dadurch kannst du die Bewegungen entsprechend verlangsamen. Dieses Prinzip wird (ohne Verlangsamung) höchtwahrscheinlich auch in Ego-Shootern verwendet, da man sich hier beliebig z.B. nach rechts drehen kann, ohne an einen Bildschirmrand zu stoßen. Nach dem loslassen der Shift-Taste kannst du entweder den Cursor an seiner aktuellen Position wieder auftauchen lassen oder erst verschieben und dann wieder auftauchen lassen. Bernhard |
Re: Maus verlangsamen
Genau das wollte ich auch grad vorschlagen. In solchen Fällen blende ich meist die Maus aus, und berechne mir "OnMouseMove" die Verschiebung zum vorigen Punkt, und das eigentliche Objekt wird dann nur um ein Bruchteil des Verschiebungsvektors bewegt. Dabei macht es auf jeden Fall Sinn, die Position das zu verschiebenden Teils mit Floats zu speichern und berechnen, und nur zu Anzeigezwecken zu runden.
Da man auch mit ausgeblendetem Cursor noch an den Bildrand stoßen kann (halt nur unsichtbarerweise dann), behelfe ich mir da meist mit einem Timer, der die unsichtbare Maus auf die Bildschirmmitte zurück zieht. 200ms schien dafür ein brauchbarer Wert zu sein, so dass man sich schon sehr anstrengen muss um in der Zeit nen halben Bildschirm zu "überqueren". Und keine Angst: Alle 200ms den Cursor versetzen ist wirklich nichts, was eine CPU groß juckt. Eleganter wäre es natürlich, wenn man die Maus generell dazu bringen könnte bei Bewegung nur einen Richtungsverktor zu liefern, statt einer Position. Dann fiele das Rücksetzen sowie das eigene Berechnen weg. Jedoch kenne ich bislang keine Möglichkeit dies zu machen. Ich kann mir vorstellen, dass das u.U. mit DirectInput was gibt, aber ich habe auch in Richtung WinAPI noch nicht recherchiert. |
Re: Maus verlangsamen
Hilft vermutlich nicht, aber vielleicht ein vager Ansatzpunkt zum Weitersuchen:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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