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