00 Stimmen

Delphi/Lazarus: Mausposition ermitteln

Frage von Gast | 14.01.2016 um 23:32

Gibt es im Lazarus oder Delphi irgendeine Möglichkeit, die aktuelle Position der Maus abzufragen?

Zum Beispiel in Form der aktuellen X oder Y Koordinaten auf dem Bildschirm?

AntwortenPositivNegativ
2Beste Antwort2 Stimmen

Ja, die gibt es. Und es gibt sogar mehrere Möglichkeiten. Zunächst kannst du jederzeit über Mouse.CursorPos.X und Mouse.CursorPos.Y die aktuelle Position der Maus auf dem Bildschirm abfragen. Zum Beispiel so:

procedure TForm1.Timer1Timer(Sender: TObject);
var
  x, y: integer;
begin
  x := Mouse.CursorPos.X;
  y := Mouse.CursorPos.Y;
  Caption := IntToStr(x) + ' ' + IntToStr(y);
end;

Hier benutzen wir einen Timer, um in regelmäßigen Abständen die Position der Maus auszulesen und als Caption der Form anzuzeigen.

Viele Controls bieten aber auch direkt in das Event OnMouseMove an, dass automatisch die Variablen X und Y zur Verfügung stellt. Unter anderem bietet zum Beispiel auch jede Form dieses Event an, so dass du die Mausposition folgendermaßen abfragen kannst:

procedure TForm1.FormMouseMove(Sender: TObject; 
  Shift: TShiftState; X, Y: Integer);
begin
  Label1.Caption := IntToStr(X) + ' ' + IntToStr(Y);
end;

In diesen Beispiel geben wir die aktuellen Mausposition auf einem Label aus, immer dann wenn die Maus sich über die Form bewegt.
15.01.2016 um 16:12

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.