GLBasic forum

Other languages => GLBasic - de => Topic started by: blastar on 2008-Apr-16

Title: "mouse über screen?" = problem! :-(
Post by: blastar on 2008-Apr-16
unter einer desktop-umgebung (habe jetzt nur win32 getestet) gibt der befehl MOUSESTATE die korrekten pixel-coodrinaten des mausezeigers zurück WENN er sich ÜBER dem OGL-screen befindet, verläßt er den screen zeigt er (je nach achse) '0' oder die max größe des screens an... gibt es eine möglicheit das auszulesen? am besten wäre es natürlich wenn der befehl MOUSESTATE bei einem verlassen des screen '-1' für X & Y zurückgibt! :-)
Title: "mouse über screen?" = problem! :-(
Post by: Kitty Hello on 2008-Apr-17
Ah.
Hmm..
Nö.

Unter Win32 könntest Du mit GetCursorPos die globalen Koordinaten bekommen, und mit ScreenToClient(GLBASIC_HWND(), point) dann in lokale umwandeln.
Ist das wichtig?
Title: "mouse über screen?" = problem! :-(
Post by: blastar on 2008-Apr-17
ich wollte einen speziellen effekt erzielen beim verlassen des screens/windows mit dem mousezeigers... so was wie mouseover... und soll halt auch funktionieren ohne dass das window den fokus verliert. schade, dann muss ich mich entweder wieder durch api's durchwühlen oder darauf verzichten... ist aber ok, GLBASIC ist eben voll auf games ausgelegt und konzentriert sich auf funktionen die auf allen geräten und BS's funktionieren! :-)
Title: "mouse über screen?" = problem! :-(
Post by: Kitty Hello on 2008-Apr-18
Mach's doch, wenn der Mauspfeil x=0 oder x=screenwidth-1 hat.
Title: "mouse über screen?" = problem! :-(
Post by: blastar on 2008-Apr-18
mein ursprünglicher gedanke dazu war es den system-mousezeiger auszublenden wenn er sich über dem screen befindet und dafür ein spezielles sprite als mousezeiger darzustellen - ich habe deine idee schon langer versucht und bin zumind im fenstermodus auch auf das gewünschte ergebnis gekommen aber da ich auch eine möglichkeit zum fullscreen gegeben habe funktioniert das nicht richtig. sobald sich der sprite-mousezeiger am rand des bildschrims befindet verschwindet er und dafür erscheint der system-mousezeiger. ich habe das jetzt mit einer zusätzlichen abfrage gelöst ob der screen als fullscreen geöffnet wurde...