Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Cursor über Image ändert sich zu spät (https://www.delphipraxis.net/150990-cursor-ueber-image-aendert-sich-zu-spaet.html)

Fussball-Robby 2. Mai 2010 16:57


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ß

Muellermilchtrinker 2. Mai 2010 18:50

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.

Namenloser 2. Mai 2010 18:54

Re: Cursor über Image ändert sich zu spät
 
Hast du mal versucht, direkt Screen.Cursor zu ändern?

Fussball-Robby 2. Mai 2010 19:52

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?

Namenloser 2. Mai 2010 20:06

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.

Fussball-Robby 2. Mai 2010 20:28

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 00:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz