Seite 1 von 1

Mausrad-Drehung simulieren

Verfasst: 04.04.2008 16:27
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 ;)

Verfasst: 04.04.2008 16:35
von Kaeru Gaman
schau mal in die #VK Tabelle, vielleicht werden die systemseitig wie tastendrücke verarbeitet...

Verfasst: 04.04.2008 16:44
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 ;)

Verfasst: 04.04.2008 16:55
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

Verfasst: 04.04.2008 16:59
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 ;)

Verfasst: 04.04.2008 17:06
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

Verfasst: 04.04.2008 18:38
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