Autor |
Beitrag |
$ebbi
      
Beiträge: 35
|
Verfasst: Mi 03.11.10 16:26
Hi,
ich würd gerne die Mausposition in einer Form/ einen Image bestimmen. Bisher nimmt er bei mir aber immer den ganzen Bildschirm. Wie kann ich das nur auf die Form beschränken, also das in der linken oberen Ecked der Form 0,0 ist?
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Mi 03.11.10 16:36
Liefern die Ereignisse onMouseMove, onMouseDown usw nicht die x,y Koordinaten der Mouse?
Gruss ALf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
$ebbi 
      
Beiträge: 35
|
Verfasst: Mi 03.11.10 16:42
ALF hat folgendes geschrieben : | Liefern die Ereignisse onMouseMove, onMouseDown usw nicht die x,y Koordinaten der Mouse?
Gruss ALf |
ja aber dann müsst ich klicken oder und dass soll eben nicht gemacht werden
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Mi 03.11.10 16:44
Schau doch mal bei onMouseMove rein
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
Für diesen Beitrag haben gedankt: $ebbi
|
|
$ebbi 
      
Beiträge: 35
|
Verfasst: Mi 03.11.10 16:49
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Mi 03.11.10 16:57
Wenn Du mehrere Objekte dem gleichen Ereigniss zuordnest, in diesem Fall OnMouseMove, kannst Du über den Sender erfahren auf welchem Objekt Du gerade bist.
Nur so als Tipp.
Gruss ALf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
beastofchaos
      
Beiträge: 247
Erhaltene Danke: 4
|
Verfasst: Fr 24.12.10 18:54
$ebbi hat folgendes geschrieben : | ich würd gerne die Mausposition in einer Form/ einen Image bestimmen. Bisher nimmt er bei mir aber immer den ganzen Bildschirm. Wie kann ich das nur auf die Form beschränken, also das in der linken oberen Ecked der Form 0,0 ist? |
Es hat noch keiner geklärt, wie man die Mausposition in dem Form bestimmt, sondern nur in welcher procedure/ auf welche Weise man sie lesen kann
Mein Problem ist in meinem Minigolfprogramm, dass ich eine Linie von der kugel zur Maus malen will.
Da er die Position der Maus von dem ganzen Bildschirm liest, muss ich folgende Formeln jedesmal benutzen und auch dann ist es sehr ungenau je nach Bildschirmgröße*:
"x:=Mouse.CursorPos.x - Form1.Left;
y:=Mouse.CursorPos.y - Form1.Top;"
*Bei meinem 24-Zoll-Bildschirm zuhause muss ich bei x "-29" und bei y "-8" an die Rechnung anhängen. In der Schule ist es, glaube ich, deshalb weniger, da wird dort nur 18-Zoll-Bildschirme haben. Kennt ihr eine Formel, die vll ungefähr so lautet: "x:=Form1.CursorPos.x;"
MfG Thomas
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 24.12.10 19:13
Benutze einfach ScreenToClient von der Komponente, auf die du die Koordinaten beziehen willst. 
|
|
beastofchaos
      
Beiträge: 247
Erhaltene Danke: 4
|
Verfasst: Sa 25.12.10 02:37
Zuletzt bearbeitet von beastofchaos am Sa 25.12.10 02:51, insgesamt 2-mal bearbeitet
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 25.12.10 02:40
Dann guck dir mal den Datentyp TPoint in der Hilfe an.
|
|
beastofchaos
      
Beiträge: 247
Erhaltene Danke: 4
|
Verfasst: Sa 25.12.10 03:18
Hab ich ja jetzt schon. Geht das auch mit ScreenToImage2 oder etwas öhnliches. Also, dass ich eine Linie nur erzeuge, wenn die Maus in diesem Bereich des Forms ist?
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 25.12.10 03:19
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: Sa 25.12.10 13:03
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| Maus=TPoint; . . . Maus:=Image2.ScreentoClient(Mouse.CursorPos); x:=Maus.x; y:=Maus.y; |
Wenn du das nicht explizit angibst, bezieht sich alles auf dein Hauptformular.
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|