Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Probelm mit MouseMove


Schwabe - Di 20.01.04 14:03
Titel: Probelm mit MouseMove
Hi,

Ich hab eine Problem mit MouseMove. Ich ermittle in der procedure

Delphi-Quelltext
1:
2:
procedure TFunktionsgraph.ISchaubildMouseMove(Sender: TObject; Shift: TShiftState;
          X, Y: Integer);
die Mauszeigerposition

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
  breite:= ISchaubild.width;
  hoehe:= ISchaubild.height;
  x1:=((x-breite/2))/Einheit;
  y1:=((hoehe/2-y))/Einheit;
  Statusbar.Panels[0].Text:='Mauszeigerposition ('+FloattoStrf(x1,ffFixed,2,1)+ ' / '
                       + FloatToStrf(y1,ffFixed,2,1) + ')';
wenn ich jetzt aber in die OnMouseMove procedure noch eine Befehl mit SetCursoPos(...) hineinschreib wird sobald GetCursorPos(..) aktiv ist meine Mauszeigerposition nicht mehr angezeigt.

Wie kann ich diese Problem umgehen?

Wäre nett wnen mir jemand helfen könnte!



MFG Schwabe


smiegel - Di 20.01.04 14:07

Hallo,

ggf. musst Du noch die Koordinaten mit ScreenToClient bzw. ClientToScreen umwandeln.


Schwabe - Di 20.01.04 14:11

Des hab ich scho die Mausposition wird ja getrennt von dem anderen ausgegeben. Mit dem SetCursorPos fahr ich ein Schaubild von einer Funktion mit dem Mauszeiger nach. Das klappt auch, bloß werden dann halt nicht mehr die Koordinaten von dem Mauszeiger angezeigt.

Hoffe du verstehts was ich meine :).


MFg Schwabe


Delete - Di 20.01.04 15:15

Bau mal ein Statusbar1.Update / Repaint oder Refresh ein bzw ein Application.Processmessages. Du musst deiner anwendung auch die Chance geben die Statusbar zu aktualisieren.


Schwabe - Di 20.01.04 19:14

Vilen Dank! Funktioniert einwandfrei mit Statusbar.Update !