AGB  ·  Datenschutz  ·  Impressum  







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

Cursorposition?!

Ein Thema von heiopei · begonnen am 21. Feb 2003 · letzter Beitrag vom 23. Feb 2003
Antwort Antwort
heiopei
(Gast)

n/a Beiträge
 
#1

Cursorposition?!

  Alt 21. Feb 2003, 16:02
Hallo,
ich würd gern wissen ob, und wenn wie man die Cursorposition(X- und Y-Achse) in Variablen einlesen kann!

PS:
In meinem kleinen Testprogramm soll ein Bild durch einen Klick darauf
"aufgenommen" werden und dann immer dem Cursor nachgeführt werden, bis es durch einen erneuten Klick wieder "abgesetzt" wird. Dazu müsste ich aber
die Cursorposition wissen!

Danke schon im Voraus
heiopei
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2
  Alt 21. Feb 2003, 16:30
OnMouseDown, OnMouseUp, OnMouseMove.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
st18061974

Registriert seit: 5. Feb 2003
52 Beiträge
 
Delphi 5 Enterprise
 
#3
  Alt 21. Feb 2003, 17:52
mausx:=Mouse.CursorPos.x;
mausy:=Mouse.CursorPos.y;
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#4
  Alt 21. Feb 2003, 18:31
als Ergänzung: es gibt auch noch die WinAPI-Funktion GetCurserPos, liefert allerdings (glaub ich nur) nur die Position des gesamten Screens...
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von Robert
Robert

Registriert seit: 4. Jan 2003
36 Beiträge
 
#5
  Alt 22. Feb 2003, 14:05
Tjo, Alex, allerdings kann man die mithilfe von ScreenToClient in Client-Koordinaten umwandeln - also

Delphi-Quellcode:
var TP:TPoint;
begin
  GetCursorPos(TP);
  TP:=Form1.ScreenToClient(TP);
  //in TP.X und TP.Y sind jetzt die Koordinaten relativ zu Left und Top der Form
end;
Wer hat gesagt, dass Borland NUR ein Begriff für ein Ölfeld sei!?

Ban Visual BASIC 4ever
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#6
  Alt 22. Feb 2003, 17:06
atimmt, man könnte es auch noch umrechnen, gar nicht dran gedacht!
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#7
  Alt 22. Feb 2003, 22:00
Delphi-Quellcode:
var TP:TPoint; x,y: integer;
begin
  GetCursorPos(TP);
  TP:=Form1.ScreenToClient(TP);
  x := TP.x - Image1.Left;
  y := TP.y - Image1.Top;
end;
Hab ich damit genau die Daten des Mauszeigers relativ zur linken oberen Ecke des Bildes, oder gibts noch Sachen zu beachten. (Border der Form (Stichwort: ClientRect)) oder so was?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8
  Alt 23. Feb 2003, 03:40
Linke obere Ecke des Clientbereiches. Dazu zählt nicht die Rahmenbreite und nicht die Höhe der Fenstercaption.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#9
  Alt 23. Feb 2003, 13:26
Habe grade festgestellt, dass man auch Image1.ScreenToClient(TP); nehmen kann. Damit hat sich die Sache sehr elegant geklärt...
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#10

Re: Cursorposition?!

  Alt 23. Feb 2003, 19:12
Hallo heiopei,
Zitat von heiopei:
ob, und wenn wie man die Cursorposition(X- und Y-Achse) in Variablen einlesen kann!
Benutze die Procedur OnMouseMove. Da steht es einfach in X und Y zur Verfügung.

Wenn Du zum Bleistift (globale) Variablen hast, dann brauchst Du nur noch dies:
Delphi-Quellcode:
MyVar1 := X;
MyVar2 := Y;
//Im OnMouseMove stehen die zur Verfügung

Grüsse, Daniel
  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 19:51 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