![]() |
Cursor über Image ändert sich zu spät
Hey,
im OnMouseMove eines Images frage ich ab, ob sich der Cursor über einem bestimmten Punkt befindet. Wenn ja, dann setze ich ihn auf crHandPoint, ansonsten crDefault. Der Cursor wird allerdings erst beim nächsten Bewegen der maus geändert, sodass crhandPoint erst zu sehen ist, wenn der Cursor nicht mehr über dem Punkt ist. Kann ich nach dem Setzen des Cursors irgendwie ein "Neuzeichnen" bzw. Aktualisieren des Cursors erzwingen? Gruß |
Re: Cursor über Image ändert sich zu spät
Ich denke du solltest danach, ein Image1.Refresh (wenn des beim Image auch so heißt) hinzufügen.
|
Re: Cursor über Image ändert sich zu spät
Hast du mal versucht, direkt Screen.Cursor zu ändern?
|
Re: Cursor über Image ändert sich zu spät
Das mit dem Refresh hatte ich auch probiert, leider half es nicht.
Das Ändern von Screen.Cursor bringt den gewünschten Effekt, danke! Gibt es auch einen Grund dafür? |
Re: Cursor über Image ändert sich zu spät
Naja, mit TImage.Cursor setzt du ja fest, welcher Cursor angezeigt werden soll, wenn sich der Cursor über dem Image befindet. Also wird da wahrscheinlich nur irgendeine interne Variable verändert. Erst im MouseMove-Event fragt das TImage dann diesen Wert ab und weist ihn Screen.Cursor zu. Da aber der Cursor sich zum Zeitpunkt der Zuweisung schon über der Komponente befindet und nicht mehr bewegt wird, passiert das nicht. Wenn du hingegen Screen.Cursor direkt veränderst, umgehst du den Zwischenschritt über die Variable und das MouseMove-Event.
So vermute ich das zumindest. |
Re: Cursor über Image ändert sich zu spät
Okay, das klingt einleuchtend und so ähnlich hatte ich es auch vermutet. Vielen Dank!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 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 by Thomas Breitkreuz