home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ┌──────────────────────────────────────────────────────┐
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ Mousebox-Handbuch │
- │ │
- │ │
- │ Routinen zur Unterstützung der Microsoft Mouse │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ Copyright (c) 1988, 89, 90 │
- │ │
- │ by │
- │ │
- │ Ralf Krause │
- │ │
- │ Leuchtenberger Str. 7a │
- │ D-8480 Weiden i. d. Opf. │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ Kein Teil dieses Handbuches darf ohne schriftliche │
- │ Genehmigung des Programmautors in irgend einer Form │
- │ vervielfältigt, archiviert oder verbreitet werden! │
- │ Der Programmautor behält sich Änderungen am Pro- │
- │ gramm und an dem Handbuch vor! │
- └──────────────────────────────────────────────────────┘
-
- Über die »Mousebox«:
-
- Die »Mousebox« ist eine Sammlung von Prozeduren und
- Funktionen zur Steuerung und Überwachung einer Micro-
- soft Mouse, bzw. einer Microsoft-kompatiblen Mouse.
- Mit den Routinen können Sie Ihre Programme, nach dem
- Sie sie geändert haben nun auch mit Ihrer Mouse benut-
- zen.
-
-
- Einfügen der Routinen in Ihre Programme:
-
- Das Einfügen der Routinen der »Mousebox« geschieht
- durch Einfügen der folgenden Zeile in Ihre Programme:
-
- $INCLUDE "MOUSEBOX.INC"
- $INCLUDE "MOUSECSR.DEF" (nur wenn Sie welche der vor-
- definierten Grafik-Cursor be-
- nutzen)
-
-
- Nutzung der Routinen in eigenen Programmen:
-
- Sie dürfen Sie die Routinen mit folgenden Beschränkungen
- in Ihren Programmen verwenden:
- Die Weitergabe des Sourcecodes der Routinen ist jedoch,
- genau wie die veröffentlichung in Zeitschriften, Mailbo-
- xen, etc. verboten.
- Eine Zuwiederhandlung gegen diese Beschränkungen kann
- sowohl Zivil-, als auch Strafrechtliche Schritte zur
- Folge haben.
- Wenn Sie noch nicht registrierter Benutzer sind, so be-
- denken Sie bitte das die Registrierungsgebühr nur
- DM 29.-- beträgt.
- Als registrierter Anwender haben Sie einige Vorteile,
- sehen Sie sich hierzu das Registrierungsformular auf der
- nächsten Seite an.
-
-
- Über dieses Handbuch:
-
-
- Dieses Handbuch erläutert alle Prozeduren und Funktionen
- der »Mousebox«. Nehmen Sie sich ruhig etwas Zeit das
- Handbuch zu lesen.
-
-
- Das Handbuch ist wie folgt aufgebaut:
-
- 1. Name der Prozedur oder Funktion
- 2. ob es eine Prozedur oder eine Funktion ist
- 3. Syntax
- 4. Aufgabe der Prozedur oder Funktion
- 5. Beispiel wie die Prozedur oder Funktion benutzt wird;
- hier stehen jedoch nur die Schritte, die zeigen wie
- die Prozedur oder Funktion angewandt wird;
- (Sehen Sie sich hierzu auch das Beispielprogramm
- MOUSEDEM.BAS auf der Diskette an)
-
-
-
-
-
-
- Herr
- Ralf Krause
-
- Leuchtenberger Str. 7a
- D-8480 Weiden i. d. OPf.
-
-
-
-
- R e g i s t r i e r u n g
-
-
- Ja, ich möchte mich als Anwender der Mousebox für Turbo-
- Basic für nur DM 29.-- registrieren lassen.
- Für diesen Betrag werden mir folgende Leistungen geboten:
-
- - Zusendung der neuesten Version
- - Update-Service
- - Handbuch
- - Hilfe bei Fragen und Problemen (bitte schriftlich ein-
- reichen und Rückporto nicht vergessen)
-
-
- Meine Anschrift lautet:
-
- Vorname:____________________ Name:________________________
-
- Straße :___________________________________
-
- PLZ/Ort:____ ______________________________ Land:___
-
- Ich habe die Sharewareversion der Mousebox für Turbo Basic
- bei:
-
- COMPUDISK, J.QUIRMBACH
- Tel.02161/631217
-
- von Grootestr.226
- 4050 Mönchengladbach 1
-
- gekauft.
-
- Den Betrag von DM 29.-- │ Ich benötige folgen-
- │ des Diskettenformat:
- [ ] habe ich als Verechnungs- │
- scheck beigelegt │ [ ] 3½"-Disketten
- │ (zzgl. DM 3.--)
- [ ] habe ich auf das folgende │
- Konto überwiesen: │
- │ [ ] 5¼"-Disketten
- Deutsche Bank-Weiden │
- BLZ : 760 700 12 │ Ist nichts angekreutzt,
- Kto.-Nr.: 6657936 │ werden 5¼"-Disketten
- │ geliefert
- [ ] erheben Sie bitte per │
- Nachnahme (zzgl. DM 5.-- │
- Nachnahmegebühr) │
-
- ______________________________ ___________________________
- Ort, Datum Unterschrift (bei Minder-
- jährigen eines Erziehungs-
- berechtigten)
-
- InitMouse
-
- Prozedur/Funktion: Funktion
-
- Syntax : a = FN InitMouse
-
- Aufgabe : überprüft und initialisert den Maus-
- treiber; das Ergebnis der Funktion
- ist entweder TRUE(-1) oder FALSE(0);
- ist das Ergebnis TRUE so ist eine
- Mouse vorhanden, andernfalls nicht;
- diese Funktion muß vor der Benutzung
- anderer Funktionen der »Mousebox«
- einmal aufgerufen worden sein
-
- Beispiel : iMouseExist = FN InitMouse
- ? "Es ist ";
- IF NOT iMouseExistMouse THEN ? "k";
- ? "eine Mouse vorhanden!"
-
-
-
-
- ResetMouse
-
- Prozedur/Funktion: Prozedur
-
- Syntax : CALL ResetMouse
-
- Aufgabe : setzt den Mouse-Treiber zurück,
- diese Prozedur sollten Sie bei ver-
- lassen Ihrer Programme aufrufen;
-
- Beispiel : CALL InitMouse
- . ' hier steht Ihr
- . ' Programm
- CALL ResetMouse ' sollte am Ende
- ' stehen
-
-
-
- ShowCursor
-
- Prozedur/Funktion: Prozedur
-
- Syntax : CALL ShowCursor
-
- Aufgabe : schaltet den Mousecursor an; macht
- ihn am Bildschirm sichtbar
-
- Beispiel : CALL ShowCursor
-
-
-
-
- HideCursor
-
- Prozedur/Funktion: Prozedur
-
- Syntax : CALL HideCursor
-
- Aufgabe : schaltet den Mousecursor aus; macht
- ihn am Bildschirm unsichtbar
-
- Beispiel : CALL HideCursor
-
- GetXPosition
-
- Prozedur/Funktion: Funktion
-
- Syntax : x = FN GetXPosition
-
- Aufgabe : ermittelt die horizontale Position des
- Mousecursors;
-
- Beispiel : ? "horizontale Position:";
- ? FN GetXPosition
-
-
-
-
- GetYPosition
-
- Prozedur/Funktion: Funktion
-
- Syntax : y = FN GetYPosition
-
- Aufgabe : ermittelt die vertikale Position des
- Mousecursors;
-
- Beispiel : ? "vertikale Position:";
- ? FN GetYPosition
-
-
-
-
- GetXTextPosition
-
- Prozedur/Funktion: Funktion
-
- Syntax : x = FN GetXTextPosition
-
- Aufgabe : ermittelt die horizontale Position des
- Mousecursors; das Ergebnis liegt im
- Bereich der Textkoordinaten (1-80)
-
- Beispiel : ? "horizontale Position:";
- ? FN GetXTextPosition
-
-
-
-
- GetYTextPosition
-
- Prozedur/Funktion: Funktion
-
- Syntax : y = FN GetYTextPosition
-
- Aufgabe : ermittelt die vertikale Position des
- Mousecursors; das Ergebnis liegt im
- Bereich der Textkoordinaten (1-25)
-
- Beispiel : ? "vertikale Position:";
- ? FN GetYTextPosition
-
- LeftButton
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN LeftButton
-
- Aufgabe : testet ob die linke Mouse-Taste ge-
- drückt ist, oder nicht;
- ist die linke Taste gedrückt, so ist
- das Ergebnis der Funktion TRUE, ist
- die linke Taste nicht gedrückt, so
- ist das Ergebnis FALSE
-
- Beispiel : ? "Die linke Taste ist ";
- IF NOT FN LeftButton THEN ? "nicht ";
- ? "gedrückt!"
-
-
-
-
- RightButton
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN RightButton
-
- Aufgabe : testet ob die rechte Mouse-Taste
- gedrückt ist, oder nicht;
- ist die rechte Taste gedrückt, so
- liefert die Funktion den Wert -1,
- ist die rechte Taste nicht gedrückt,
- so liefert sie den Wert 0
-
- Beispiel : ? "Die rechte Taste ist ";
- IF NOT FN RightButton THEN_
- ? "nicht ";
- ? "gedrückt!"
-
-
-
-
- MiddleButton
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN MiddleButton
-
- Aufgabe : testet ob die mittlere Mouse-Taste
- gedrückt ist, oder nicht;
- ist die mittlere Taste gedrückt, so
- liefert das Ergebnis der Funktion
- TRUE, ist die mitllere Taste nicht
- gedrückt, so ist das Ergebnis FALSE
-
- Beispiel : ? "Die mittlere Taste ist ";
- IF NOT FN MiddleButton THEN_
- ? "nicht ";
- ? "gedrückt!"
-
- LeftButtonPressed
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN LeftButtonPressed
-
- Aufgabe : stellt fest wie oft die linke
- Mouse-Taste seit der letzten Abfrage
- gedrückt wurde
-
- Beispiel : ? "Die linke Mouse-Taste wurde";
- ? FN LeftButtonPressed;
- ? "mal gedrückt!"
-
-
-
-
- RightButtonPressed
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN RightButtonPressed
-
- Aufgabe : stellt fest wie oft die rechte
- Mouse-Taste seit der letzten Abfrage
- gedrückt wurde
-
- Beispiel : ? "Die rechte Mouse-Taste wurde";
- ? FN RightButtonPressed;
- ? "mal gedrückt!"
-
-
-
-
- MiddleButtonPressed
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN MiddleButtonPressed
-
- Aufgabe : stellt fest wie oft die mittlere
- Mouse-Taste seit der letzten Abfrage
- gedrückt wurde
-
- Beispiel : ? "Die mittlere Mouse-Taste wurde";
- ? FN MiddleButtonPressed;
- ? "mal gedrückt!"
-
-
-
-
- LeftButtonReleased
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN LeftButtonReleased
-
- Aufgabe : stellt fest wie oft die linke
- Mouse-Taste seit der letzten Abfrage
- losgelassen wurde
-
- Beispiel : ? "Die linke Mouse-Taste wurde";
- ? FN LeftButtonReleased;
- ? "mal losgelassen!"
-
- RightButtonReleased
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN RightButtonReleased
-
- Aufgabe : stellt fest wie oft die rechte
- Mouse-Taste seit der letzten Abfrage
- losgelassen wurde
-
- Beispiel : ? "Die rechte Mouse-Taste wurde";
- ? FN RightButtonReleased;
- ? "mal losgelassen!"
-
-
-
-
- MiddleButtonReleased
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN MiddleButtonReleased
-
- Aufgabe : stellt fest wie oft die mittlere
- Mouse-Taste seit der letzten Abfrage
- losgelassen wurde
-
- Beispiel : ? "Die mittlere Mouse-Taste wurde";
- ? FN MiddleButtonReleased;
- ? "mal gedrückt!"
-
-
-
-
- MouseMoved
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN MouseMoved
-
- Aufgabe : testet ob die Mouse bewegt während
- der Abfrage bewegt wird, falls dies
- der Fall ist so ist das Ergebnis der
- Funktion TRUE, andernfalls ist es
- FALSE
-
- Beispiel : n = FN MouseMoved
- ? "Die Mouse wurde ";
- IF NOT n THEN ? "nicht ";
- ? "bewegt!"
-
- MouseLeftMoved
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN MouseLeftMoved
-
- Aufgabe : testet ob die Mouse während der Ab-
- frage nach links bewegt wird, falls
- dies der Fall ist so ist das Ergebnis
- der Funktion TRUE, andernfalls ist es
- FALSE
-
- Beispiel : n = FN MouseLeftMoved
- ? "Die Mouse wurde ";
- IF NOT n THEN ? "nicht ";
- ? "nach links bewegt!"
-
-
-
-
- MouseRightMoved
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN MouseRightMoved
-
- Aufgabe : testet ob die Mouse während der Ab-
- frage nach rechts bewegt wird, falls
- dies der Fall ist so ist das Ergebnis
- der Funktion TRUE, andernfalls ist es
- FALSE
-
- Beispiel : n = FN MouseRightMoved
- ? "Die Mouse wurde ";
- IF NOT n THEN ? "nicht ";
- ? "nach rechts bewegt!"
-
-
-
-
- MouseUpMoved
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN MouseUpMoved
-
- Aufgabe : testet ob die Mouse während der Ab-
- frage nach oben bewegt wird, falls
- dies der Fall ist so ist das Ergebnis
- der Funktion TRUE, andernfalls ist es
- FALSE
-
- Beispiel : n = FN MouseUpMoved
- ? "Die Mouse wurde ";
- IF NOT n THEN ? "nicht ";
- ? "nach oben bewegt!"
-
- MouseDownMoved
-
- Prozedur/Funktion: Funktion
-
- Syntax : n = FN MouseDownMoved
-
- Aufgabe : testet ob die Mouse während der Ab-
- frage nach unten bewegt wird, falls
- dies der Fall ist so ist das Ergebnis
- der Funktion TRUE, andernfalls ist es
- FALSE
-
- Beispiel : n = FN MouseDownMoved
- ? "Die Mouse wurde ";
- IF NOT n THEN ? "nicht ";
- ? "nach unten bewegt!"
-
-
-
-
- SetXYMouse
-
- Prozedur/Funktion: Prozedur
-
- Syntax : CALL SetXYMouse(x,y)
-
- Aufgabe : setzt den Mousecursor auf die über-
- gebene horizontale und vertikale Po-
- sition
-
- Beispiel : CALL SetXYMouse(319,99)
-
-
-
-
- SetXRange
-
- Prozedur/Funktion: Prozedur
-
- Syntax : CALL SetXRange(XMin%, XMax%)
-
- Aufgabe : setzt die minimale und maximale
- horizontale Mousecursorposition
-
- Beispiel : CALL SetXRange(0,639)
-
-
-
-
- SetYRange
-
- Prozedur/Funktion: Prozedur
-
- Syntax : CALL SetYRange(YMin%, YMax%)
-
- Aufgabe : setzt die minimale und maximale
- vertikale Mousecursorposition
-
- Beispiel : CALL SetYRange(0,319)
-
- SetGraphicCursor
-
- Prozedur/Funktion: Prozedur
-
- Syntax : CALL SetGraphicCursor(_
- GraphicCursor%(2), XHotSpot%,_
- YHotSpot%)
-
- Aufgabe : definiert den Grafik-Mousecursor;
- GraphicCursor%(2) ist ein zweidimen-
- sionales Integer-Array, das die
- Bildschirm- und die Cursor-Maske ent-
- hält;
- XHotSpot% ist der horizontale Punkt
- bei dem eine Funktion ausgeführt
- werden soll;
- YHotSpot% ist der vertikale Punkt bei
- dem eine Funktion ausgeführt werden
- soll;
- in der Datei MOUSECSR.DEF sind be-
- reits ein paar Grafikcursor vorde-
- finiert
-
- Beispiel : DIM GraphicCursor(15,2)
-
- BildschirmMaske:
- DATA &B0111111111111111
- DATA &B0001111111111111
- DATA &B0000011111111111
- DATA &B0000000111111111
- DATA &B0000000001111111
- DATA &B0000000000011111
- DATA &B0000000000000111
- DATA &B0000000000000001
- DATA &B0000100001111111
- DATA &B0011110000111111
- DATA &B1111111000011111
- DATA &B1111111100001111
- DATA &B1111111110000111
- DATA &B1111111111000011
- DATA &B1111111111100001
- DATA &B1111111111111111
-
- CursorMaske:
- DATA &B1000000000000000
- DATA &B1010000000000000
- DATA &B1000100000000000
- DATA &B1000001000000000
- DATA &B1000000010000000
- DATA &B1000000000100000
- DATA &B1000000100001000
- DATA &B1000100111111110
- DATA &B1001010010000000
- DATA &B1100001001000000
- DATA &B0000000100100000
- DATA &B0000000010010000
- DATA &B0000000001001000
- DATA &B0000000000100100
- DATA &B0000000000011110
- DATA &B0000000000000000
-
- HotSpots:
- DATA 0,0
-
- FOR n% = 0 TO 1
- FOR m% = 0 TO 15
- READ GraphicCursor(m%, n%)
- NEXT m%
- NEXT n%
- READ XHotSpot%, YHotSpot%
-
- Mouse% = FN InitMouse
- IF Mouse% THEN
- SCREEN 2
- CLS
- CALL SetGraphicCursor(_
- GraphicCursor%(2), XHotSpot%,_
- YHotSpot%)
-
- CALL ShowCursor
-
- ' warten bis rechte Mouse-Taste ge-
- ' drückt
- WHILE NOT FN RightButton : WEND
-
- CALL HideCursor
- SCREEN 0
- CLS
- ELSE
- ? "Mouse-Treiber nicht installiert!"
- END IF
-
-
-
-
- SetTextCursor
-
- Prozedur/Funktion: Prozedur
-
- Syntax : CALL SetTextCursor(CursorType%,_
- TextScreenMask%, TextCursorMask%)
-
- Aufgabe : definiert den Text-Mousecursor;
- CursorType% gibt an, ob es sich um
- einen Hardwareware- oder um einen
- Software-Cursor handelt;
-
- CursorType% = 0 : Softwarecursor
- CursorType% = 1 : Hardwarecursor
-
- bei CursorType% = 1:
- TextScreenMask% : obere Cursor Be-
- grenzung
- TextCursorMask% : untere Cursor Beg
- grenzung
-
- bei CursorType% = 0:
- Bit 0 - 7 : Zeichencode
- Bit 8 - 10 : Vordergrundfarbe
- Bit 11 : Intensität normal/hell
- Bit 12 - 14 : Hintergrundfarbe
- Bit 15 : blinken ein/aus
-
- Beispiel : TextScreenMask% = &B0111011111111111
- TextCursorMask% = &B0111011100000000
- CursorType% = 0
- CALL SetTextCursor(CursorType%,_
- TextScreenMask%, TextCursorMask%)
-
- GetXMickey
-
- Prozedur/Funktion: Funktion
-
- Syntax : x = FN GetXMickey
-
- Aufgabe : horizontalen Mouse-Bewegungszähler
- (Mickey-Zähler) lesen
-
- Beispiel : ? "horizontaler Mickey-Zähler:";
- ? FN GetXMickey
-
-
-
-
- GetYMickey
-
- Prozedur/Funktion: Funktion
-
- Syntax : x = FN GetYMickey
-
- Aufgabe : vertikalen Mouse-Bewegungszähler
- (Mickey-Zähler) lesen
-
- Beispiel : ? "vertikaler Mickey-Zähler:";
- ? FN GetYMickey
-
-
-
-
- SetXYMickey
-
- Prozedur/Funktion: Prozedur
-
- Syntax : CALL SetXYMickey(XMickey, YMickey)
-
- Aufgabe : horizontale und vertikale Mickey-
- Einheit setzen;
-
- XMickey : Anzahl der Mickeys, die
- einem horizontalen Bild-
- schirmpunkt entsprechen
- YMickey : Anzahl der Mickeys, die
- einem vertikalen Bild-
- schirmpunkt entsprechen
-
- Beispiel : CALL SetXYMickey(16, 16)
-
-
-
-
- SetMouseSpeed
-
- Prozedur/Funktion: Prozedur
-
- Syntax : CALL SetMouseSpeed(Speed)
-
- Aufgabe : Schwellenwert für doppelte Mouse-
- Cursor-Geschwindigkeit in Mickeys pro
- Sekunde setzen
-
- Beispiel : CALL SetMouseSpeed(100)