Mausrad-Drehung simulieren

Für allgemeine Fragen zur Programmierung mit PureBasic.
PMTheQuick
Beiträge: 630
Registriert: 05.05.2005 19:06

Mausrad-Drehung simulieren

Beitrag von PMTheQuick »

Hi,

ich möchte eine Mausrad-Drehung (bzw. Bewegung) simulieren. Es sollte auch bei ner DirectX Anwedung gehen. (Vll. ist das irgendwie wichtig) Ist das machbar? Danke im vorraus für eure Antworten,

Gruss
PMTheQuick ;)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

schau mal in die #VK Tabelle, vielleicht werden die systemseitig wie tastendrücke verarbeitet...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
PMTheQuick
Beiträge: 630
Registriert: 05.05.2005 19:06

Beitrag von PMTheQuick »

Kaeru Gaman hat geschrieben:schau mal in die #VK Tabelle, vielleicht werden die systemseitig wie tastendrücke verarbeitet...
Gerade nachgeguggt. Nichts gefunden, ausser MouseButtons :(

Gruss
PMTheQuick ;)
Benutzeravatar
Kiffi
Beiträge: 10715
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

auf die Schnelle:

VB-Code:

Code: Alles auswählen

Private Const WM_SCROLL = 277
 
'Code zum Scrollen:
Dim intParameter As Integer
intParameter = 1
SendMessage FensterHandle, WM_SCROLL, intParameter, 0
 
'andere Werte für intParameter (durch Ausprobieren herausgefunden):
'4=Ganz nach oben scrollen
'0=eine Zeile rauf scrollen
'1=eine Zeile runter scrollen
(hier gefunden: http://www.tutorials.de/forum/visual-ba ... ieren.html)

Sollte sich relativ einfach nach PB übersetzen lassen.

Grüße ... Kiffi
a²+b²=mc²
PMTheQuick
Beiträge: 630
Registriert: 05.05.2005 19:06

Beitrag von PMTheQuick »

Hm wenn ich das recht ansehe ist das aber für ein Fenster. Ich brauche es aber für eine FullScreen Anwendung. (DirectX) Wie könnte ich es da machen?

Gruss
PMTheQuick ;)
Benutzeravatar
Kiffi
Beiträge: 10715
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

PMTheQuick hat geschrieben:Ich brauche es aber für eine FullScreen Anwendung. (DirectX) Wie könnte ich es da machen?
puh, [KeineAhnungHab], aber ist ein FullScreen nicht auch ein Fenster?

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Code: Alles auswählen

InitSprite() : InitKeyboard() : InitMouse()

#MOUSEEVENTF_WHEEL = $800
#WHEEL_DELTA = 120

OpenWindow(0,0,0,640,480,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)	
OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0)

Repeat
	EventID = WindowEvent()
			
	ClearScreen($804020)
	
	ExamineKeyboard()
	ExamineMouse()	
	
	If MouseButton(1)
		mouse_event_(#MOUSEEVENTF_WHEEL,0,0,#WHEEL_DELTA,0)
	EndIf
	
	If MouseButton(2)
		mouse_event_(#MOUSEEVENTF_WHEEL,0,0,-#WHEEL_DELTA,0)
	EndIf
		
	If MouseWheel() > 0 : Y - 20 : EndIf
	If MouseWheel() < 0 : Y + 20 : EndIf
	
	StartDrawing(ScreenOutput())
	Box(300,220 + Y,64,64,#Red)
	DrawText(10,10,"Use mouse buttons to simulate mouse wheel motion")
	StopDrawing()
	
	FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or EventID = #PB_Event_CloseWindow
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten