WinAPI: Relative Mausbewegung?

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

WinAPI: Relative Mausbewegung?

Beitrag von Chimorin »

Heyho,

ich habe jetzt schon knapp ne Stunde gegoogelt und finde einfach nicht das was ich haben will.
Ich würde gerne eine Funktion haben (WinAPi, was anderes wird wohl nicht gehen), die mir die relative Mausbewegung seit dem letzten Aufruf zurückgibt.
Die Sache über das Eventhandling geht leider nicht, es müsste schon eine Funktion sein.

Hat da jemand was parat?
Bild

- formerly known as Bananenfreak -
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: WinAPI: Relative Mausbewegung?

Beitrag von NicTheQuick »

Geht es um die Mausbewegung unabhängig von einem Fenster? Oder nur innerhalb von einem Fenster?

Im Grunde geht das ja auch so, oder?

Code: Alles auswählen

Procedure.i RelativeMouseX()
	Static x.i = 0, first = #True, d.i
	If first
		x = DesktopMouseX()
		first = #False
	EndIf
	d = DesktopMouseX() - x
	x + d
	ProcedureReturn d
EndProcedure
Procedure.i RelativeMouseY()
	Static y.i = 0, first = #True, d.i
	If first
		y = DesktopMouseY()
		first = #False
	EndIf
	d = DesktopMouseY() - y
	y + d
	ProcedureReturn d
EndProcedure

Repeat
	Debug Str(RelativeMouseX()) + ", " + Str(RelativeMouseY())
	Delay(100)
Until DesktopMouseX() = 0
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: WinAPI: Relative Mausbewegung?

Beitrag von Chimorin »

Hmm, es sollte schon fensterunabhängig sein.
Deine Lösung habe ich mir auch schon als möglich eingetragen, es wäre aber schön, wenn es eine fertige Funktion dafür gäbe (Gibt es bestimmt auch).
Bild

- formerly known as Bananenfreak -
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: WinAPI: Relative Mausbewegung?

Beitrag von NicTheQuick »

Wenn du kein Fenster hast, gibt es jedenfalls schon mal keine Events, die du nutzen könntest. Demnach ist meine Lösung eigentlich schon fertig und vor allem plattformunabhängig. Wozu also noch API anstrengen? Die kann relative Koordinaten auch nicht besser berechnen. ;)
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: WinAPI: Relative Mausbewegung?

Beitrag von Chimorin »

Okay, okay. Ich habe schon WinAPI drinne, da habe ich gedacht es wäre einfacher es so zu machen.
Bild

- formerly known as Bananenfreak -
Antworten