Einzelnen Beitrag anzeigen

moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Pixeldifferenz zwischen Komponenten-Mitte und Mausposition

  Alt 24. Jul 2007, 07:37
Moin !

Ich stehe gerade vollkommen auf dem Schlauch und auch die Suche hat mir noch nicht geholfen. Vermutlich suche ich aber auch bei diesem Thema mit falschen Begriffen.

Mein Problem: Ich will ein TChart mit dem Mausrad Zoomen. Das geht auch, aber eben nur aus der Mitte des Chart heraus. So nun müsste ich mal berechnen, wo denn die Maus aktuell steht und wie viele Pixel in X / Y Richtung das von meiner Chartmitte entfernt ist. Danach kann ich dann das ZoomRect neu berechnen. Soweit so gut ...

Nun liefert mir
Delphi-Quellcode:
Chart1MouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
ja die Mausposition beim "wheelen", aber eben Bildschirmbezogen. Ich kriege also die aktuelle Pixelkoordinate der Maus (vermutlich das selbe wie Mouse.CursorPos.x).

Meine Mitte des Charts kann ich auch recht einfach berechnen ..
Chart.Width / 2. Aber wie kriege ich nun die Pixeldifferenz zwischen meinem Mauscursor und der Chartmitte heraus? Der Ursprung ist ja jeweils ein anderer.
Ich habs schon mal irgendwann gemacht / gelesen, aber ich komme im Moment nicht auf den Trichter. Bei dem ersten Stichwort machts vermutlich gleich *click* ...
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat