Home » Tipps & Tricks » System » Tastatur und Maus » Aktuelle Mausposition ermitteln
Aktuelle Mausposition ermitteln
Die folgende Procedure ermittelt die Mausposition, wobei (0|0) die obere, linke Ecke des Bildschirms ist.Damit die Werte ständig aktualisiert werden, muss diese Procedure in einem Timer stehen. Das Ereignis OnMouseMove ist hier nicht möglich, da es nicht mehr ausgelöst wird, wenn sich die Maus außerhalb des Formulars befindet.
procedure TForm1.Timer1Timer(Sender: TObject); begin Label1.Caption := IntToStr(Mouse.CursorPos.X); Label2.Caption := IntToStr(Mouse.CursorPos.Y); end;
Bis einschließlich Delphi 3 steht TMouse nicht zur Verfügung.Hier kann folgender Code verwendet werden.
procedure TForm1.Timer1Timer(Sender: TObject); var P: TPoint; begin GetCursorPos(P); Label1.Caption := IntToStr(P.X); Label1.Caption := IntToStr(P.Y); end;
Um die Koordinaten relativ zur oberen, linken Ecke der Form umzuwandeln kann die Funktion TControl.ScreenToClient verwendet werden.Umgekehrt gibt es auch TControl.ClientToScreen.