regelmässiges scrollen eines fensters



  • hallo,
    Ich hab ein fenster und und will dass wenn die linke maustaste gedrückt wurde und der benutzer die maus (mit der gedrückten maustaste) aus dem fenter bewegt, das fenster anfängt zu scrollen bis der benutzer die maus wieder ins fenster bewegt.

    ich hab setcapture aufgerufen um die maus zu binden, jetzt weiss ich aber nicht bei welcher nachricht ich scrollen soll oder ob ich einen timer verwenden soll oder ob man so ein problem vielleicht ganz anders löst.

    Wenn jemand nen Lösungsvorschlag hätte wärs cool.



  • also erstmal vergleichen, ob die Maus aus dem Fenster draussen is, dann Timer starten
    den Abstand vom Fensterrand bis zur Maus berechnen und als 'Scrollgeschwindigkeit' festlegen
    Bei jedem Timerevent scrollen, bis Maus wieder innerhalb Fenster, dann Timer löschen



  • ok danke.
    Ich hab trotzdem noch ne frage:
    Wird das bei dem notepad oder microsoft word auch so geregelt, weil wenn man da text markiert und den cursor aus dem fenster bewegt wird das fenster ja auch gescrollt.



  • Nein!
    Wenn du dir das ganze beim Notepad (und auch bei vielen anderen Anwendungen) mal genau ansiehst, bemerkst du, dass nur gescrollt wir, wenn du außerhalb des Fensters die Maus bewegst!
    Also einfach mit setcapture und dann WM_MOUSEMOVE abfangen und mithilfe der Fenstergröße ausrechnen, ob und wie gescrollt wird (wie bisher!) 😉


Anmelden zum Antworten