![]() |
Problem bei der Positionsauswertung der Maus
Hi ich hab ein kleines Problem
in meinem Grafikprogramm habe ich ein Bitmap in ein Image geladen Durch Klicken auf das Image wird jeweils die Position des Cursors gespeichert. Da man mit GetCursoPpos ja nicht die Position der Maus bezogen zum Image erhält berechne ich diese folgendermaßen:
Delphi-Quellcode:
Dabei tritt nun folgendes Problem auf: die X-Position is jeweils richtig, aber die Y-Position ist verschoben, genauer gesagt liegen die berechneten Punkte weiter Unten als die jeweiligen Stellen, auf die ich geklickt habe.
EckX:=Mouse.CursorPos.X;
EckY:=Mouse.CursorPos.Y; EckX:=EckX-Form1.Frame21.Left; EckY:=EckY-Form1.Frame21.Top; h:=EckX/Form1.Frame21.Image1.Width; Eckx:=round(h*Bildbreite); h:=Ecky/Form1.Frame21.Image1.Height; EckY:=round(h*Bildhoehe); Meine Vermutung ist jetzt, dass es durch die Titelleiste verschoben wird. Das Formular wird immer als wsMaximized ausgeführt, aber die Mausposition bezieht sich ja auf den Bildschirm?!. (kann Jemand diese Vermutung bestätigen/wiederlegen???) Nun habe ich festgestellt, dass wenn ich die Position um +15 Pixel nach Oben verschiebe, das Problem nicht mehr auftaucht. ->kann mir Jemand eine Lösung anbieten,damit die Positionen überinstimmen? Lösungsidden: 1. Bestimmen der Höhe der Titelleiste(sofern meine Vermutung stimmt) > Wie kann ich einfach die Höhe der Titelleiste bestimmen um sie dazusurechnen? 2 Gibt es eine Möglichkeit, die Mausposition nur auf das Formular(ohne Titelleiste) oder gar auf das Image zu beziehen? |
Re: Problem bei der Positionsauswertung der Maus
Mit Image1.ScreenToClient() vielleicht?
|
Re: Problem bei der Positionsauswertung der Maus
Moin,
beim Ereignis OnMouseDown() der Image-Komponente werden doch schon die Client-Koordinaten mitgeteilt ... Grüße vom marabu |
Re: Problem bei der Positionsauswertung der Maus
Danke Marabu ;) hab das jetzt auf OnMouseDown geändert und andere Kleinigkeiten verbessert und alles funzt perfekt
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04: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