Maus-Erweiterung

Übersicht BlitzBasic DLLs und Userlibs

Neue Antwort erstellen

frigi

Betreff: Maus-Erweiterung

BeitragMo, Mai 23, 2005 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit Dieser Dll werden die Möglichkeiten für die Maussteuerung ein wenig erweitert.

Funktionen:

SetMousePos(X,Y)
Setzt die Mausposition auch außerhalb eines BB-Fensters.

LockMouse(X1,Y1,X2,Y2)
Damit kann man die Maus in einen bestimmten Bereich einsperren. Dieser Zustand bleibt auch nach Beendigung des Programms bestehen!
Um sie dann wieder auf den ganzen Bildschirm zugreifen zu lassen, braucht man noch die folgenden 2 Funktionen:

ScreenWidth()
Ermittelt die horizontale Auflösung des Bildschirms.

ScreenHeight()
Ermittelt die vertikale Auflösung des Bildschirms.

Um die Maus wieder frei zu lassen muss man nur "LockMouse( 0,0,ScreenWidth(),ScreenHeight() )" schreiben.

Beispiele:

Sperrt die Maus ein und gibt sie beim Beenden des Programms wieder frei:

Code: [AUSKLAPPEN]
Graphics 800,600,0,2
SetBuffer BackBuffer()

X = 200
Y = 200
LockMouse(0,0,X,Y)

Repeat
   
   Cls
   
   ;--> Ausgaben
   Text 10,10,"X1: " + 0
   Text 10,30,"Y1: " + 0
   Text 10,50,"X2: " + X
   Text 10,70,"Y2: " + Y
   
   ;--> Bereich festlegen
   If KeyHit(203) Then X = X - 10 : LockMouse(0,0,X,Y)
   If KeyHit(205) Then X = X + 10 : LockMouse(0,0,X,Y)
   If KeyHit(200) Then Y = Y - 10 : LockMouse(0,0,X,Y)
   If KeyHit(208) Then Y = Y + 10 : LockMouse(0,0,X,Y)
   
   ;--> beim Beenden wieder "freilassen"
   If KeyHit(1) Then LockMouse( 0,0,ScreenWidth(),ScreenHeight() ) : End
   
   Flip
   
Forever



Versetzt die Maus in die linke obere Ecke:

Code: [AUSKLAPPEN]
SetMousePos(0,0)



*.decls
Code: [AUSKLAPPEN]
.lib "MouseExt.dll"

ScreenWidth%() : "ScreenWidth"
ScreenHeight%() : "ScreenHeight"
SetMousePos%(X%,Y%) : "SetMousePos"
LockMouse%(X1%,Y1%,X2%,Y2%) : "LockMouse"


Dll-Download
frigi.designdevil.de

frigi

BeitragMi, Mai 25, 2005 10:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Noch ein kleine Erweiterung:

GetMouseXPos() und GetMouseYPos() ermitteln die Position der Maus auf dem Desktop, also auch wieder außerhalb eines BB-Fensters.

Neue *.decls:

Code: [AUSKLAPPEN]
.lib "MouseExt.dll"
ScreenWidth%() : "ScreenWidth"
ScreenHeight%() : "ScreenHeight"
GetMouseXPos%() : "GetMouseXPos"
GetMouseYPos%() : "GetMouseYPos"
SetMousePos%(X%,Y%) : "SetMousePos"
LockMouse%(X1%,Y1%,X2%,Y2%) : "LockMouse"


Link für die Dll ist wie oben.
frigi.designdevil.de
 

NewSamurai

BeitragMo, Okt 24, 2005 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, aber ich krieg das nicht zum laufen.
Kannst du mir vielleicht mal den kompletten Code schicken? Ich krieg die Dll nicht rein.
Also bitte: HELFT MIR!

Ich sag schonmal danke
NewSamurai
 

$tankY

BeitragMi, Okt 26, 2005 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
dll z.B. in dein Projektordner bzw. in den ordner der decls, dann in deinem Blitzordner unter userlibs die decl einfügen, fertig!
 

Sirrus

BeitragDo, Dez 26, 2013 4:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Thema ist zwar schon etwas älter, aber falls jemand Interesse hat, wie diese und ähnliche Funktionen von Blitzbasic aus über das api zu realisieren sind.

SetCursorPos (x,y) setzt den Mauszeiger auf eine Desktop-Position
GetCursorPos (lpPOINTAPI) holt die aktuelle Desktop-Position des Mauszeigers
SetCursor (hCursor) legt ein (eigenes) Mauszeigerbild fest
GetCursor () liest das aktuelle Mauszeigerbild aus
ClipCursor (lpRECT) legt den Mausbereich auf dem Desktop fest (wenn eine 0 übergeben wird, wird der Desktop-Bereich festgelegt)
GetClipCursor (lpRECT) liest den Mauszeigerbereich aus.
ShowCursor (bBool) Schaltet den Mauszeiger an oder aus, je nachdem, ob True oder False als Parameter übergeben wird

Abrexxes

BeitragDo, Dez 26, 2013 4:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich versuche verzweifelt hier denn Sinn zu finden. Naja, es ist spät.

cu

Neue Antwort erstellen


Übersicht BlitzBasic DLLs und Userlibs

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group