AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mouse-Koordinaten ... die 20154. :-(

Ein Thema von DieFliege · begonnen am 16. Apr 2017 · letzter Beitrag vom 17. Apr 2017
Antwort Antwort
DieFliege

Registriert seit: 6. Aug 2013
57 Beiträge
 
Delphi XE4 Professional
 
#1

Mouse-Koordinaten ... die 20154. :-(

  Alt 16. Apr 2017, 23:41
Hallo zusammen,

allen ein schönes Osterfest!

Irgenwie sehe ich den Wald vor lauter Bäumen nicht.

Ich kann mir in einem Label oder Edit die aktuellen Mouse Positionsdaten anzeigen lassen, auch ausserhalb der Form, kein Problem.

Wie jedoch kann ich diese Daten mit einem Klick in einem Edit-Feld per Klick übernehmen? Sobald ich die Form selbst verlasse und irgendwo anders hin klicke verliere, passiert nix (klar verliere ja den Fokus). Wie kann ich dies dennoch realisieren?

Aktuell habe ich folgendes:
1x Timer
2x Label
2x Edit

Delphi-Quellcode:
procedure Tform1.Timer1Timer(Sender: TObject);
begin
  lbl_cursor_x.Caption := IntToStr(Mouse.CursorPos.X);
  lbl_cursor_y.Caption := IntToStr(Mouse.CursorPos.Y);
end;
In den beiden Label werden mir die Koordinaten angezeigt, auch ausserhalb der Form. In die beiden Edit sollen die Daten der Stelle rein, die ich mit der Maus anklicke.

Könnt ihr mir helfen?

LG DieFliege
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Mouse-Koordinaten ... die 20154. :-(

  Alt 16. Apr 2017, 23:47
Ich kann dir sagen, warum außerhalb der Form nichts passiert. Weil der Klick eben außerhalb der Form passiert. Wahrscheinlich wirst du um einen Mouse-Hook nicht drumherum kommen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Mouse-Koordinaten ... die 20154. :-(

  Alt 16. Apr 2017, 23:51
Zitat:
klar verliere ja den Fokus
Im OnDeactivate der Form, bzw. der Application drauf reagieren und dort die Position auslesen.

Will man nur 'ne Position wissen, ohne den Fokus zu verlieren:
OnMouseMove/OnMouseUp beim Click verwenden, also irdendwo rein klicken, von da praktisch was wie Drag&Drop zur neuen Position gehen und die Maus loslassen.
$2B or not $2B

Geändert von himitsu (16. Apr 2017 um 23:55 Uhr)
  Mit Zitat antworten Zitat
DieFliege

Registriert seit: 6. Aug 2013
57 Beiträge
 
Delphi XE4 Professional
 
#4

AW: Mouse-Koordinaten ... die 20154. :-(

  Alt 16. Apr 2017, 23:53
Hey Luckie,

das dachte ich mir auch

Zitat:
... (klar verliere ja den Fokus) ...
"Mouse-Hook" - da werde ich mal schauen.

LG Die Fliege
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Mouse-Koordinaten ... die 20154. :-(

  Alt 16. Apr 2017, 23:53
Und dann kommt der Klick an? Ich bin mir da nicht so sicher.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DieFliege

Registriert seit: 6. Aug 2013
57 Beiträge
 
Delphi XE4 Professional
 
#6

AW: Mouse-Koordinaten ... die 20154. :-(

  Alt 16. Apr 2017, 23:56
Hi himitsu,

Im OnDeactivate der Form, bzw. der Application drauf reagieren und dort die Position auslesen.
... perfekt, das könnte klappen - Vielen Dank!

LG DieFliege


gerade getestet - Funktioniert leider nicht

Geändert von DieFliege (17. Apr 2017 um 00:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Mouse-Koordinaten ... die 20154. :-(

  Alt 17. Apr 2017, 00:03
Sag ich doch.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Mouse-Koordinaten ... die 20154. :-(

  Alt 17. Apr 2017, 00:04
gerade getestet - Funktioniert leider nicht
Drum auch das "bzw."

OnDeactivate der Form reagiert da bissl unorthodox.
Außerhalb der Form kann ja auch eine andere Form der eigenen Anwendung sein und OnDeactivate der Form reagiert nur auf den Wechsel der Forms innerhalb der Anwendung.
$2B or not $2B
  Mit Zitat antworten Zitat
DieFliege

Registriert seit: 6. Aug 2013
57 Beiträge
 
Delphi XE4 Professional
 
#9

AW: Mouse-Koordinaten ... die 20154. :-(

  Alt 17. Apr 2017, 00:05
Hey himitsu,

Will man nur 'ne Position wissen, ohne den Fokus zu verlieren:
OnMouseMove/OnMouseUp beim Click verwenden, also irdendwo rein klicken, von da praktisch was wie Drag&Drop zur neuen Position gehen und die Maus loslassen.
... das funktioniert! Werde nun mir noch mal "Mouse-Hook" ansehen - Vielen Dank!

LG DieFliege
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#10

AW: Mouse-Koordinaten ... die 20154. :-(

  Alt 17. Apr 2017, 05:34
Auch wenn die Form nicht den Focus hat, funktioniert es:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var MausPos: TPoint;
begin
  if getAsyncKeystate(VK_LBUTTON)<>0 then
  BEGIN
     GetCursorPos(MausPos);
     label1.Caption := IntToStr(MausPos.x);
     label2.Caption := IntToStr(MausPos.y);
  END;
end;

Geändert von t.roller (17. Apr 2017 um 11:16 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz