Seite 1 von 2
Abfrage ob Maus oder Taste betätigt
Verfasst: 09.03.2005 21:35
von Poser
Repeat
ExamineKeyboard()
...
Until KeyboardPushed(#PB_Key_All)
Das gilt allerdings nur für die Tastatur. Kann man das Until
nicht einfach erweitern? Soll noch dazu: Abfrage ob Maus
bewegt oder geklickt wurde.
Verfasst: 09.03.2005 21:39
von MVXA
Or
Verfasst: 09.03.2005 22:22
von Poser
mausx.w = MouseX()
Repeat
ExamineKeyboard()
ExamineMouse()
Until KeyboardPushed(#PB_Key_All) Or mausx<>MouseX()
Funzt leider nicht...
Verfasst: 09.03.2005 22:24
von MVXA
Code: Alles auswählen
ExamineMouse()
mausx.w = MouseX()
Repeat
ExamineKeyboard()
ExamineMouse()
Until KeyboardPushed(#PB_Key_All) Or mausx<>MouseX()
Verfasst: 09.03.2005 22:27
von Poser
Kann man #WM_MOUSEMOVE auch irgendwie benutzen wenn aber mit Openscreen gearbeitet wird?
Verfasst: 09.03.2005 22:30
von MVXA
Wahrscheinlich nicht.
Verfasst: 09.03.2005 22:36
von Poser
Also muss ich X + Y wie oben abfragen und zusätzlich die Maustasten auch noch oder? Umständlich aber machbar...
Verfasst: 09.03.2005 23:16
von Kaeru Gaman
am einfachsten wäre vielleicht:
in der schleife:
Code: Alles auswählen
MouseMove = MouseDeltaX() Or MouseDeltaY() Or MouseButton(1) Or MouseButton(2)
und die schleifenbedingung:
... du kannst natürlich auch die 4 functions ins until packen und auf die Var verzichten
---------------------------------------
ne MouseMove wär vllt. ein netter neuer befehl für die V4.0
Verfasst: 09.03.2005 23:29
von Poser
Geht leider nicht... führt zum sofortigen Ende der Repeat-Schleife .-(
Verfasst: 10.03.2005 06:08
von Laurin
Das liegt an MouseDeltaX() und MouseDeltaY().
Ich nehme an, du hast eine optische Maus oder? Die Dinger sind meist so empfindlich, dass selbst dein Puls damit gemessen werden kann.
Zu Deutsch: MouseDeltaX() und MouseDeltaY() sind nie 0 und damit ist die Abbruchbedingung der Schleife erfüllt.
(Das wäre jedenfalls eine logische Erklärung für das Ganze.)
Benutze lieber MouseX() usw. Damit sollte es gehen.
Greetz Laurin