home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / tb / mousetb / mousebox.doc < prev    next >
Text File  |  1993-07-29  |  30KB  |  806 lines

  1.  
  2.  
  3.  
  4.          ┌──────────────────────────────────────────────────────┐
  5.          │                                                      │
  6.          │                                                      │
  7.          │                                                      │
  8.          │                                                      │
  9.          │                                                      │
  10.          │                                                      │
  11.          │                                                      │
  12.          │                                                      │
  13.          │                                                      │
  14.          │                                                      │
  15.          │                                                      │
  16.          │                                                      │
  17.          │                                                      │
  18.          │                                                      │
  19.          │                                                      │
  20.          │                                                      │
  21.          │                                                      │
  22.          │                  Mousebox-Handbuch                   │
  23.          │                                                      │
  24.          │                                                      │
  25.          │    Routinen zur Unterstützung der Microsoft Mouse    │
  26.          │                                                      │
  27.          │                                                      │
  28.          │                                                      │
  29.          │                                                      │
  30.          │                                                      │
  31.          │                                                      │
  32.          │                                                      │
  33.          │                                                      │
  34.          │                                                      │
  35.          │                                                      │
  36.          │                                                      │
  37.          │                                                      │
  38.          │                                                      │
  39.          │                                                      │
  40.          │                                                      │
  41.          │                                                      │
  42.          │                                                      │
  43.          │                                                      │
  44.          │                                                      │
  45.          │                                                      │
  46.          │                                                      │
  47.          │              Copyright (c) 1988, 89, 90              │
  48.          │                                                      │
  49.          │                          by                          │
  50.          │                                                      │
  51.          │                     Ralf Krause                      │
  52.          │                                                      │
  53.          │                Leuchtenberger Str. 7a                │
  54.          │               D-8480 Weiden i. d. Opf.               │
  55.          │                                                      │
  56.          │                                                      │
  57.          │                                                      │
  58.          │                                                      │
  59.          │                                                      │
  60.          │                                                      │
  61.          │                                                      │
  62.          │                                                      │
  63.          │                                                      │
  64.          │  Kein Teil dieses Handbuches darf ohne schriftliche  │
  65.          │  Genehmigung des Programmautors in irgend einer Form │
  66.          │  vervielfältigt, archiviert oder verbreitet werden!  │
  67.          │  Der Programmautor behält sich Änderungen am Pro-    │
  68.          │  gramm und an dem Handbuch vor!                      │
  69.          └──────────────────────────────────────────────────────┘
  70.  
  71.                            Über die »Mousebox«:
  72.  
  73.          Die  »Mousebox«  ist  eine  Sammlung  von Prozeduren und
  74.          Funktionen  zur  Steuerung  und Überwachung einer Micro-
  75.          soft Mouse, bzw. einer Microsoft-kompatiblen Mouse.
  76.          Mit  den  Routinen  können  Sie Ihre Programme, nach dem
  77.          Sie  sie  geändert haben nun auch mit Ihrer Mouse benut-
  78.          zen.
  79.  
  80.  
  81.                  Einfügen der Routinen in Ihre Programme:
  82.  
  83.          Das  Einfügen  der  Routinen  der  »Mousebox«  geschieht
  84.          durch Einfügen der folgenden Zeile in Ihre Programme:
  85.  
  86.          $INCLUDE "MOUSEBOX.INC"
  87.          $INCLUDE "MOUSECSR.DEF"  (nur wenn Sie welche der vor-
  88.                                   definierten Grafik-Cursor be-
  89.                                   nutzen)
  90.  
  91.  
  92.                Nutzung der Routinen in eigenen Programmen:
  93.  
  94.          Sie dürfen Sie die Routinen mit folgenden Beschränkungen
  95.          in Ihren Programmen verwenden:
  96.          Die  Weitergabe des Sourcecodes der Routinen ist jedoch,
  97.          genau wie die veröffentlichung in Zeitschriften, Mailbo-
  98.          xen, etc. verboten.
  99.          Eine  Zuwiederhandlung  gegen  diese Beschränkungen kann
  100.          sowohl  Zivil-,  als  auch  Strafrechtliche Schritte zur
  101.          Folge haben.
  102.          Wenn  Sie noch nicht registrierter Benutzer sind, so be-
  103.          denken   Sie  bitte  das  die  Registrierungsgebühr  nur
  104.          DM 29.-- beträgt.
  105.          Als  registrierter  Anwender  haben Sie einige Vorteile,
  106.          sehen Sie sich hierzu das Registrierungsformular auf der
  107.          nächsten Seite an.
  108.  
  109.  
  110.                           Über dieses Handbuch:
  111.  
  112.  
  113.          Dieses Handbuch erläutert alle Prozeduren und Funktionen
  114.          der  »Mousebox«.  Nehmen  Sie  sich ruhig etwas Zeit das
  115.          Handbuch zu lesen.
  116.  
  117.  
  118.          Das Handbuch ist wie folgt aufgebaut:
  119.  
  120.          1. Name der Prozedur oder Funktion
  121.          2. ob es eine Prozedur oder eine Funktion ist
  122.          3. Syntax
  123.          4. Aufgabe der Prozedur oder Funktion
  124.          5. Beispiel wie die Prozedur oder Funktion benutzt wird;
  125.             hier stehen jedoch nur die Schritte, die zeigen wie
  126.             die Prozedur oder Funktion angewandt wird;
  127.             (Sehen Sie sich hierzu auch das Beispielprogramm
  128.              MOUSEDEM.BAS auf der Diskette an)
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.          Herr
  136.          Ralf Krause
  137.  
  138.          Leuchtenberger Str. 7a
  139.          D-8480 Weiden i. d. OPf.
  140.  
  141.  
  142.  
  143.  
  144.                           R e g i s t r i e r u n g
  145.  
  146.  
  147.          Ja, ich möchte mich als Anwender der Mousebox für Turbo-
  148.          Basic für nur DM 29.-- registrieren lassen.
  149.          Für diesen Betrag werden mir folgende Leistungen geboten:
  150.  
  151.          - Zusendung der neuesten Version
  152.          - Update-Service
  153.          - Handbuch
  154.          - Hilfe bei Fragen und Problemen (bitte schriftlich ein-
  155.            reichen und Rückporto nicht vergessen)
  156.  
  157.  
  158.          Meine Anschrift lautet:
  159.  
  160.          Vorname:____________________ Name:________________________
  161.  
  162.          Straße :___________________________________
  163.  
  164.          PLZ/Ort:____ ______________________________ Land:___
  165.  
  166.          Ich habe die Sharewareversion der Mousebox für Turbo Basic
  167.          bei:
  168.  
  169.                   COMPUDISK, J.QUIRMBACH
  170.                   Tel.02161/631217
  171.  
  172.                   von Grootestr.226
  173.                   4050 Mönchengladbach 1
  174.  
  175.          gekauft.
  176.  
  177.          Den Betrag von DM 29.--       │ Ich benötige folgen-
  178.                                        │ des Diskettenformat:
  179.          [ ] habe ich als Verechnungs- │
  180.              scheck beigelegt          │ [ ] 3½"-Disketten
  181.                                        │     (zzgl. DM 3.--)
  182.          [ ] habe ich auf das folgende │
  183.              Konto überwiesen:         │
  184.                                        │ [ ] 5¼"-Disketten
  185.              Deutsche Bank-Weiden      │
  186.              BLZ : 760 700 12          │ Ist nichts angekreutzt,
  187.              Kto.-Nr.: 6657936         │ werden 5¼"-Disketten
  188.                                        │ geliefert
  189.          [ ] erheben Sie bitte per     │
  190.              Nachnahme (zzgl. DM 5.--  │
  191.              Nachnahmegebühr)          │
  192.  
  193.          ______________________________ ___________________________
  194.          Ort, Datum                     Unterschrift (bei Minder-
  195.                                         jährigen eines Erziehungs-
  196.                                         berechtigten)
  197.  
  198.                                 InitMouse
  199.  
  200.          Prozedur/Funktion: Funktion
  201.  
  202.          Syntax           : a = FN InitMouse
  203.  
  204.          Aufgabe          : überprüft und initialisert den Maus-
  205.                             treiber; das Ergebnis der Funktion
  206.                             ist entweder TRUE(-1) oder FALSE(0);
  207.                             ist das Ergebnis TRUE so ist eine
  208.                             Mouse vorhanden, andernfalls nicht;
  209.                             diese Funktion muß vor der Benutzung
  210.                             anderer Funktionen der »Mousebox«
  211.                             einmal aufgerufen worden sein
  212.  
  213.          Beispiel         : iMouseExist = FN InitMouse
  214.                             ? "Es ist ";
  215.                             IF NOT iMouseExistMouse THEN ? "k";
  216.                             ? "eine Mouse vorhanden!"
  217.  
  218.  
  219.  
  220.  
  221.                                 ResetMouse
  222.  
  223.          Prozedur/Funktion: Prozedur
  224.  
  225.          Syntax           : CALL ResetMouse
  226.  
  227.          Aufgabe          : setzt den Mouse-Treiber zurück,
  228.                             diese Prozedur sollten Sie bei ver-
  229.                             lassen Ihrer Programme aufrufen;
  230.  
  231.          Beispiel         : CALL InitMouse
  232.                                .                 ' hier steht Ihr
  233.                                .                 ' Programm
  234.                             CALL ResetMouse      ' sollte am Ende
  235.                                                  ' stehen
  236.  
  237.  
  238.  
  239.                                 ShowCursor
  240.  
  241.          Prozedur/Funktion: Prozedur
  242.  
  243.          Syntax           : CALL ShowCursor
  244.  
  245.          Aufgabe          : schaltet den Mousecursor an; macht
  246.                             ihn am Bildschirm sichtbar
  247.  
  248.          Beispiel         : CALL ShowCursor
  249.  
  250.  
  251.  
  252.  
  253.                                 HideCursor
  254.  
  255.          Prozedur/Funktion: Prozedur
  256.  
  257.          Syntax           : CALL HideCursor
  258.  
  259.          Aufgabe          : schaltet den Mousecursor aus; macht
  260.                             ihn am Bildschirm unsichtbar
  261.  
  262.          Beispiel         : CALL HideCursor
  263.  
  264.                                GetXPosition
  265.  
  266.          Prozedur/Funktion: Funktion
  267.  
  268.          Syntax           : x = FN GetXPosition
  269.  
  270.          Aufgabe          : ermittelt die horizontale Position des
  271.                             Mousecursors;
  272.  
  273.          Beispiel         : ? "horizontale Position:";
  274.                             ? FN GetXPosition
  275.  
  276.  
  277.  
  278.  
  279.                                GetYPosition
  280.  
  281.          Prozedur/Funktion: Funktion
  282.  
  283.          Syntax           : y = FN GetYPosition
  284.  
  285.          Aufgabe          : ermittelt die vertikale Position des
  286.                             Mousecursors;
  287.  
  288.          Beispiel         : ? "vertikale Position:";
  289.                             ? FN GetYPosition
  290.  
  291.  
  292.  
  293.  
  294.                              GetXTextPosition
  295.  
  296.          Prozedur/Funktion: Funktion
  297.  
  298.          Syntax           : x = FN GetXTextPosition
  299.  
  300.          Aufgabe          : ermittelt die horizontale Position des
  301.                             Mousecursors; das Ergebnis liegt im
  302.                             Bereich der Textkoordinaten (1-80)
  303.  
  304.          Beispiel         : ? "horizontale Position:";
  305.                             ? FN GetXTextPosition
  306.  
  307.  
  308.  
  309.  
  310.                              GetYTextPosition
  311.  
  312.          Prozedur/Funktion: Funktion
  313.  
  314.          Syntax           : y = FN GetYTextPosition
  315.  
  316.          Aufgabe          : ermittelt die vertikale Position des
  317.                             Mousecursors; das Ergebnis liegt im
  318.                             Bereich der Textkoordinaten (1-25)
  319.  
  320.          Beispiel         : ? "vertikale Position:";
  321.                             ? FN GetYTextPosition
  322.  
  323.                                 LeftButton
  324.  
  325.          Prozedur/Funktion: Funktion
  326.  
  327.          Syntax           : n = FN LeftButton
  328.  
  329.          Aufgabe          : testet ob die linke Mouse-Taste ge-
  330.                             drückt ist, oder nicht;
  331.                             ist die linke Taste gedrückt, so ist
  332.                             das Ergebnis der Funktion TRUE, ist
  333.                             die linke Taste nicht gedrückt, so
  334.                             ist das Ergebnis FALSE
  335.  
  336.          Beispiel         : ? "Die linke Taste ist ";
  337.                             IF NOT FN LeftButton THEN ? "nicht ";
  338.                             ? "gedrückt!"
  339.  
  340.  
  341.  
  342.  
  343.                                RightButton
  344.  
  345.          Prozedur/Funktion: Funktion
  346.  
  347.          Syntax           : n = FN RightButton
  348.  
  349.          Aufgabe          : testet ob die rechte Mouse-Taste
  350.                             gedrückt ist, oder nicht;
  351.                             ist die rechte Taste gedrückt, so
  352.                             liefert die Funktion den Wert -1,
  353.                             ist die rechte Taste nicht gedrückt,
  354.                             so liefert sie den Wert 0
  355.  
  356.          Beispiel         : ? "Die rechte Taste ist ";
  357.                             IF NOT FN RightButton THEN_
  358.                               ? "nicht ";
  359.                             ? "gedrückt!"
  360.  
  361.  
  362.  
  363.  
  364.                                MiddleButton
  365.  
  366.          Prozedur/Funktion: Funktion
  367.  
  368.          Syntax           : n = FN MiddleButton
  369.  
  370.          Aufgabe          : testet ob die mittlere Mouse-Taste
  371.                             gedrückt ist, oder nicht;
  372.                             ist die mittlere Taste gedrückt, so
  373.                             liefert das Ergebnis der Funktion
  374.                             TRUE, ist die mitllere Taste nicht
  375.                             gedrückt, so ist das Ergebnis FALSE
  376.  
  377.          Beispiel         : ? "Die mittlere Taste ist ";
  378.                             IF NOT FN MiddleButton THEN_
  379.                               ? "nicht ";
  380.                             ? "gedrückt!"
  381.  
  382.                             LeftButtonPressed
  383.  
  384.          Prozedur/Funktion: Funktion
  385.  
  386.          Syntax           : n = FN LeftButtonPressed
  387.  
  388.          Aufgabe          : stellt fest wie oft die linke
  389.                             Mouse-Taste seit der letzten Abfrage
  390.                             gedrückt wurde
  391.  
  392.          Beispiel         : ? "Die linke Mouse-Taste wurde";
  393.                             ? FN LeftButtonPressed;
  394.                             ? "mal gedrückt!"
  395.  
  396.  
  397.  
  398.  
  399.                             RightButtonPressed
  400.  
  401.          Prozedur/Funktion: Funktion
  402.  
  403.          Syntax           : n = FN RightButtonPressed
  404.  
  405.          Aufgabe          : stellt fest wie oft die rechte
  406.                             Mouse-Taste seit der letzten Abfrage
  407.                             gedrückt wurde
  408.  
  409.          Beispiel         : ? "Die rechte Mouse-Taste wurde";
  410.                             ? FN RightButtonPressed;
  411.                             ? "mal gedrückt!"
  412.  
  413.  
  414.  
  415.  
  416.                            MiddleButtonPressed
  417.  
  418.          Prozedur/Funktion: Funktion
  419.  
  420.          Syntax           : n = FN MiddleButtonPressed
  421.  
  422.          Aufgabe          : stellt fest wie oft die mittlere
  423.                             Mouse-Taste seit der letzten Abfrage
  424.                             gedrückt wurde
  425.  
  426.          Beispiel         : ? "Die mittlere Mouse-Taste wurde";
  427.                             ? FN MiddleButtonPressed;
  428.                             ? "mal gedrückt!"
  429.  
  430.  
  431.  
  432.  
  433.                             LeftButtonReleased
  434.  
  435.          Prozedur/Funktion: Funktion
  436.  
  437.          Syntax           : n = FN LeftButtonReleased
  438.  
  439.          Aufgabe          : stellt fest wie oft die linke
  440.                             Mouse-Taste seit der letzten Abfrage
  441.                             losgelassen wurde
  442.  
  443.          Beispiel         : ? "Die linke Mouse-Taste wurde";
  444.                             ? FN LeftButtonReleased;
  445.                             ? "mal losgelassen!"
  446.  
  447.                            RightButtonReleased
  448.  
  449.          Prozedur/Funktion: Funktion
  450.  
  451.          Syntax           : n = FN RightButtonReleased
  452.  
  453.          Aufgabe          : stellt fest wie oft die rechte
  454.                             Mouse-Taste seit der letzten Abfrage
  455.                             losgelassen wurde
  456.  
  457.          Beispiel         : ? "Die rechte Mouse-Taste wurde";
  458.                             ? FN RightButtonReleased;
  459.                             ? "mal losgelassen!"
  460.  
  461.  
  462.  
  463.  
  464.                            MiddleButtonReleased
  465.  
  466.          Prozedur/Funktion: Funktion
  467.  
  468.          Syntax           : n = FN MiddleButtonReleased
  469.  
  470.          Aufgabe          : stellt fest wie oft die mittlere
  471.                             Mouse-Taste seit der letzten Abfrage
  472.                             losgelassen wurde
  473.  
  474.          Beispiel         : ? "Die mittlere Mouse-Taste wurde";
  475.                             ? FN MiddleButtonReleased;
  476.                             ? "mal gedrückt!"
  477.  
  478.  
  479.  
  480.  
  481.                                 MouseMoved
  482.  
  483.          Prozedur/Funktion: Funktion
  484.  
  485.          Syntax           : n = FN MouseMoved
  486.  
  487.          Aufgabe          : testet ob die Mouse bewegt während
  488.                             der Abfrage bewegt wird, falls dies
  489.                             der Fall ist so ist das Ergebnis der
  490.                             Funktion TRUE, andernfalls ist es
  491.                             FALSE
  492.  
  493.          Beispiel         : n = FN MouseMoved
  494.                             ? "Die Mouse wurde ";
  495.                             IF NOT n THEN ? "nicht ";
  496.                             ? "bewegt!"
  497.  
  498.                               MouseLeftMoved
  499.  
  500.          Prozedur/Funktion: Funktion
  501.  
  502.          Syntax           : n = FN MouseLeftMoved
  503.  
  504.          Aufgabe          : testet ob die Mouse während der Ab-
  505.                             frage nach links bewegt wird, falls
  506.                             dies der Fall ist so ist das Ergebnis
  507.                             der Funktion TRUE, andernfalls ist es
  508.                             FALSE
  509.  
  510.          Beispiel         : n = FN MouseLeftMoved
  511.                             ? "Die Mouse wurde ";
  512.                             IF NOT n THEN ? "nicht ";
  513.                             ? "nach links bewegt!"
  514.  
  515.  
  516.  
  517.  
  518.                              MouseRightMoved
  519.  
  520.          Prozedur/Funktion: Funktion
  521.  
  522.          Syntax           : n = FN MouseRightMoved
  523.  
  524.          Aufgabe          : testet ob die Mouse während der Ab-
  525.                             frage nach rechts bewegt wird, falls
  526.                             dies der Fall ist so ist das Ergebnis
  527.                             der Funktion TRUE, andernfalls ist es
  528.                             FALSE
  529.  
  530.          Beispiel         : n = FN MouseRightMoved
  531.                             ? "Die Mouse wurde ";
  532.                             IF NOT n THEN ? "nicht ";
  533.                             ? "nach rechts bewegt!"
  534.  
  535.  
  536.  
  537.  
  538.                                MouseUpMoved
  539.  
  540.          Prozedur/Funktion: Funktion
  541.  
  542.          Syntax           : n = FN MouseUpMoved
  543.  
  544.          Aufgabe          : testet ob die Mouse während der Ab-
  545.                             frage nach oben bewegt wird, falls
  546.                             dies der Fall ist so ist das Ergebnis
  547.                             der Funktion TRUE, andernfalls ist es
  548.                             FALSE
  549.  
  550.          Beispiel         : n = FN MouseUpMoved
  551.                             ? "Die Mouse wurde ";
  552.                             IF NOT n THEN ? "nicht ";
  553.                             ? "nach oben bewegt!"
  554.  
  555.                               MouseDownMoved
  556.  
  557.          Prozedur/Funktion: Funktion
  558.  
  559.          Syntax           : n = FN MouseDownMoved
  560.  
  561.          Aufgabe          : testet ob die Mouse während der Ab-
  562.                             frage nach unten bewegt wird, falls
  563.                             dies der Fall ist so ist das Ergebnis
  564.                             der Funktion TRUE, andernfalls ist es
  565.                             FALSE
  566.  
  567.          Beispiel         : n = FN MouseDownMoved
  568.                             ? "Die Mouse wurde ";
  569.                             IF NOT n THEN ? "nicht ";
  570.                             ? "nach unten bewegt!"
  571.  
  572.  
  573.  
  574.  
  575.                              SetXYMouse
  576.  
  577.          Prozedur/Funktion: Prozedur
  578.  
  579.          Syntax           : CALL SetXYMouse(x,y)
  580.  
  581.          Aufgabe          : setzt den Mousecursor auf die über-
  582.                             gebene horizontale und vertikale Po-
  583.                             sition
  584.  
  585.          Beispiel         : CALL SetXYMouse(319,99)
  586.  
  587.  
  588.  
  589.  
  590.                              SetXRange
  591.  
  592.          Prozedur/Funktion: Prozedur
  593.  
  594.          Syntax           : CALL SetXRange(XMin%, XMax%)
  595.  
  596.          Aufgabe          : setzt die minimale und maximale
  597.                             horizontale Mousecursorposition
  598.  
  599.          Beispiel         : CALL SetXRange(0,639)
  600.  
  601.  
  602.  
  603.  
  604.                              SetYRange
  605.  
  606.          Prozedur/Funktion: Prozedur
  607.  
  608.          Syntax           : CALL SetYRange(YMin%, YMax%)
  609.  
  610.          Aufgabe          : setzt die minimale und maximale
  611.                             vertikale Mousecursorposition
  612.  
  613.          Beispiel         : CALL SetYRange(0,319)
  614.  
  615.                              SetGraphicCursor
  616.  
  617.          Prozedur/Funktion: Prozedur
  618.  
  619.          Syntax           : CALL SetGraphicCursor(_
  620.                                 GraphicCursor%(2), XHotSpot%,_
  621.                                 YHotSpot%)
  622.  
  623.          Aufgabe          : definiert den Grafik-Mousecursor;
  624.                             GraphicCursor%(2) ist ein zweidimen-
  625.                             sionales Integer-Array, das die
  626.                             Bildschirm- und die Cursor-Maske ent-
  627.                             hält;
  628.                             XHotSpot% ist der horizontale Punkt
  629.                             bei dem eine Funktion ausgeführt
  630.                             werden soll;
  631.                             YHotSpot% ist der vertikale Punkt bei
  632.                             dem eine Funktion ausgeführt werden
  633.                             soll;
  634.                             in der Datei MOUSECSR.DEF sind be-
  635.                             reits ein paar Grafikcursor vorde-
  636.                             finiert
  637.  
  638.          Beispiel         : DIM GraphicCursor(15,2)
  639.  
  640.                             BildschirmMaske:
  641.                             DATA &B0111111111111111
  642.                             DATA &B0001111111111111
  643.                             DATA &B0000011111111111
  644.                             DATA &B0000000111111111
  645.                             DATA &B0000000001111111
  646.                             DATA &B0000000000011111
  647.                             DATA &B0000000000000111
  648.                             DATA &B0000000000000001
  649.                             DATA &B0000100001111111
  650.                             DATA &B0011110000111111
  651.                             DATA &B1111111000011111
  652.                             DATA &B1111111100001111
  653.                             DATA &B1111111110000111
  654.                             DATA &B1111111111000011
  655.                             DATA &B1111111111100001
  656.                             DATA &B1111111111111111
  657.  
  658.                             CursorMaske:
  659.                             DATA &B1000000000000000
  660.                             DATA &B1010000000000000
  661.                             DATA &B1000100000000000
  662.                             DATA &B1000001000000000
  663.                             DATA &B1000000010000000
  664.                             DATA &B1000000000100000
  665.                             DATA &B1000000100001000
  666.                             DATA &B1000100111111110
  667.                             DATA &B1001010010000000
  668.                             DATA &B1100001001000000
  669.                             DATA &B0000000100100000
  670.                             DATA &B0000000010010000
  671.                             DATA &B0000000001001000
  672.                             DATA &B0000000000100100
  673.                             DATA &B0000000000011110
  674.                             DATA &B0000000000000000
  675.  
  676.                             HotSpots:
  677.                             DATA 0,0
  678.  
  679.                             FOR n% = 0 TO 1
  680.                               FOR m% = 0 TO 15
  681.                                 READ GraphicCursor(m%, n%)
  682.                               NEXT m%
  683.                             NEXT n%
  684.                             READ XHotSpot%, YHotSpot%
  685.  
  686.                             Mouse% = FN InitMouse
  687.                             IF Mouse% THEN
  688.                               SCREEN 2
  689.                               CLS
  690.                               CALL SetGraphicCursor(_
  691.                                 GraphicCursor%(2), XHotSpot%,_
  692.                                 YHotSpot%)
  693.  
  694.                               CALL ShowCursor
  695.  
  696.                               ' warten bis rechte Mouse-Taste ge-
  697.                               ' drückt
  698.                               WHILE NOT FN RightButton : WEND
  699.  
  700.                               CALL HideCursor
  701.                               SCREEN 0
  702.                               CLS
  703.                             ELSE
  704.                               ? "Mouse-Treiber nicht installiert!"
  705.                             END IF
  706.  
  707.  
  708.  
  709.  
  710.                                SetTextCursor
  711.  
  712.          Prozedur/Funktion: Prozedur
  713.  
  714.          Syntax           : CALL SetTextCursor(CursorType%,_
  715.                               TextScreenMask%, TextCursorMask%)
  716.  
  717.          Aufgabe          : definiert den Text-Mousecursor;
  718.                             CursorType% gibt an, ob es sich um
  719.                             einen Hardwareware- oder um einen
  720.                             Software-Cursor handelt;
  721.  
  722.                             CursorType% = 0 : Softwarecursor
  723.                             CursorType% = 1 : Hardwarecursor
  724.  
  725.                             bei CursorType% = 1:
  726.                             TextScreenMask% : obere Cursor Be-
  727.                                               grenzung
  728.                             TextCursorMask% : untere Cursor Beg
  729.                                               grenzung
  730.  
  731.                             bei CursorType% = 0:
  732.                             Bit  0 -  7 : Zeichencode
  733.                             Bit  8 - 10 : Vordergrundfarbe
  734.                             Bit      11 : Intensität normal/hell
  735.                             Bit 12 - 14 : Hintergrundfarbe
  736.                             Bit      15 : blinken ein/aus
  737.  
  738.          Beispiel         : TextScreenMask% = &B0111011111111111
  739.                             TextCursorMask% = &B0111011100000000
  740.                             CursorType% = 0
  741.                             CALL SetTextCursor(CursorType%,_
  742.                               TextScreenMask%, TextCursorMask%)
  743.  
  744.                                 GetXMickey
  745.  
  746.          Prozedur/Funktion: Funktion
  747.  
  748.          Syntax           : x =  FN GetXMickey
  749.  
  750.          Aufgabe          : horizontalen Mouse-Bewegungszähler
  751.                             (Mickey-Zähler) lesen
  752.  
  753.          Beispiel         : ? "horizontaler Mickey-Zähler:";
  754.                             ? FN GetXMickey
  755.  
  756.  
  757.  
  758.  
  759.                                 GetYMickey
  760.  
  761.          Prozedur/Funktion: Funktion
  762.  
  763.          Syntax           : x =  FN GetYMickey
  764.  
  765.          Aufgabe          : vertikalen Mouse-Bewegungszähler
  766.                             (Mickey-Zähler) lesen
  767.  
  768.          Beispiel         : ? "vertikaler Mickey-Zähler:";
  769.                             ? FN GetYMickey
  770.  
  771.  
  772.  
  773.  
  774.                                SetXYMickey
  775.  
  776.          Prozedur/Funktion: Prozedur
  777.  
  778.          Syntax           : CALL SetXYMickey(XMickey, YMickey)
  779.  
  780.          Aufgabe          : horizontale und vertikale Mickey-
  781.                             Einheit setzen;
  782.  
  783.                             XMickey : Anzahl der Mickeys, die
  784.                                       einem horizontalen Bild-
  785.                                       schirmpunkt entsprechen
  786.                             YMickey : Anzahl der Mickeys, die
  787.                                       einem vertikalen Bild-
  788.                                       schirmpunkt entsprechen
  789.  
  790.          Beispiel         : CALL SetXYMickey(16, 16)
  791.  
  792.  
  793.  
  794.  
  795.                               SetMouseSpeed
  796.  
  797.          Prozedur/Funktion: Prozedur
  798.  
  799.          Syntax           : CALL SetMouseSpeed(Speed)
  800.  
  801.          Aufgabe          : Schwellenwert für doppelte Mouse-
  802.                             Cursor-Geschwindigkeit in Mickeys pro
  803.                             Sekunde setzen
  804.  
  805.          Beispiel         : CALL SetMouseSpeed(100)
  806.