Maus auf Fenster? [Gelöst]

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

BadDeath

Betreff: Maus auf Fenster? [Gelöst]

BeitragSo, Apr 06, 2008 3:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Einen wunderschönen guten Morgen!

Ich habe mal eine kleine Frage: ist es möglich zu ermittelen, ob die Maus auf/in/über dem Fenster ist? Sicherlich.... Mir fiel auch schon ein Umweg ein: die globalen Mausvariabeln per API auslesen und mit Hilfe der Fensterposition gucken, ob die Maus im Rechteck ist.... Leider finde ich nicht die Lösung, um die Fensterposition auszulesen, aber das andere fand ich HIER schon.

Wäre ich echt super, wenn ihr mir helfen könntet - perfekt wäre ja ne fertige Funktion, die True bzw. False zurückliefert xD

MfG, BadDeath

PS: ja, ich habe schon gesucht.........
  • Zuletzt bearbeitet von BadDeath am So, Apr 06, 2008 12:48, insgesamt einmal bearbeitet
 

ChristianK

BeitragSo, Apr 06, 2008 12:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Biddeschön, Funktion mit Beispiel. Smile

Code: [AUSKLAPPEN]
Function MouseOverWindow( )
   Local point = CreateBank( 8 )
   GetCursorPos point
   
   Local mx = PeekInt( point, 0 )
   Local my = PeekInt( point, 4 )
   FreeBank point
   
   Local rc = CreateBank( 16 )
   GetWindowRect SystemProperty( "AppHWND" ), rc
   
   Local x = PeekInt( rc, 0 )
   Local y = PeekInt( rc, 4 )
   Local w = PeekInt( rc, 8 ) - x
   Local h = PeekInt( rc, 12 ) - y
   FreeBank rc
   
   If ((mx<x) Or (my<y)) Or ((mx>x+w) Or (my>y+h)) Return False
   
   Return True
End Function

Graphics 640, 480, 0, 2
SetBuffer BackBuffer( )

While Not KeyDown( 1 )
   Cls
   
   If MouseOverWindow( ) Text 10, 10, "Maus ist im Fenster!"
   
   Flip
Wend

End

Die .decls dazu:

Zitat:
.lib "user32.dll"

GetCursorPos%( point* )
GetWindowRect%( hwnd%, rect* )

Funktioniert sogar ohne die DLL aus dem verlinkten Thread. Wink
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
 

BadDeath

BeitragSo, Apr 06, 2008 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
geil, dankeschön, klappt sogar xD

Danke nochmal, hast mir sehr geholfen!

MfG, BadDeath

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group