Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.745 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zoom mit Mausrad

  Alt Heute, 12:16
Erstmal MousePos anstatt Mouse.CursorPos
da muß dann auch kein ScreenToClient genutzt werden, da die Position bereits passt.

Dieses MousePos mit dem alten Zoomfaktor und dem neuen Zoomfaktor verrechnen (Ergebnis in neue Variable)
und dann hast du über die Differenz von MousePos und NeuerMousePos den Wert, um welchen das Image verschoben werden muß.

Du bekommst hier bereits die Position als Parameter rein,
aber selbst wenn nicht, dann die Position einmal zu Beginn in eine Variable.

Mit Live-Daten zu arbeiten (Mouse.CursorPos) ist extrem ungünstig.
Wenn du die Maus verschiebst, während noch berechnet wird, dann stimmen die Folgeberechnungen natürlich nicht mehr.

Die aktuelle Position ist auch nicht nötig.
Es müsste doch ein HorzScrollBar.ScrollBy geben ... da einfach nur die Differenz rein.



PS: Nicht auf Picture.Bitmap zugreifen, sondern Picture.LoadFromFile, Picture.Width usw.
Dann hast du zukünftig auch die Möglichkeit beim Load z.B. ein PNG, JPEG oder sonstwas zu laden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat