home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / tb / mousetb / mousedem.bas < prev   
BASIC Source File  |  1993-07-29  |  3KB  |  122 lines

  1. $INCLUDE "C:\TB\MOUSEBOX\MOUSEBOX.INC"
  2.  
  3. DEFINT i
  4.  
  5. %TRUE  = -1
  6. %FALSE = 0
  7.  
  8. SUB Rahmen
  9.   LOCAL it
  10.  
  11.   LOCATE 1,1
  12.   PRINT"┌";STRING$(78, "─");"┐"
  13.   FOR it = 2 TO 22
  14.     LOCATE it, 1
  15.     PRINT "│"; SPACE$(78); "│"
  16.   NEXT it
  17.   LOCATE 23, 1
  18.   PRINT"└";STRING$(78, "─");"┘";
  19. END SUB
  20.  
  21. SUB InfoBox
  22.   SHARED iExitFlag
  23.   LOCAL iX, iY, iExit
  24.  
  25.   LOCATE  8, 25 : PRINT "┌────────────────────────────┐"
  26.   LOCATE  9, 25 : PRINT "│";
  27.   COLOR 7, 0
  28.   PRINT "       Info - Fenster       ";
  29.   COLOR 0, 7
  30.   PRINT "│"
  31.   LOCATE 10, 25 : PRINT "├────────────────────────────┤"
  32.   LOCATE 11, 25 : PRINT "│   Mousebox,  Version 1.1   │"
  33.   LOCATE 12, 25 : PRINT "│                            │"
  34.   LOCATE 13, 25 : PRINT "│   Copyright (c) 1988, 89   │"
  35.   LOCATE 14, 25 : PRINT "│            by              │"
  36.   LOCATE 15, 25 : PRINT "│        Ralf Krause         │"
  37.   LOCATE 16, 25 : PRINT "│   Leuchtenberger Str. 7a   │"
  38.   LOCATE 17, 25 : PRINT "│  D-8480 Weiden i. d. Opf.  │"
  39.   LOCATE 18, 25 : PRINT "├────────────────────────────┤"
  40.   LOCATE 19, 25 : PRINT "│       ┌───────────┐        │"
  41.   LOCATE 20, 25 : PRINT "│       │ Abbrechen │        │"
  42.   LOCATE 21, 25 : PRINT "│       └───────────┘        │"
  43.   LOCATE 22, 25 : PRINT "└────────────────────────────┘"
  44.   COLOR 7, 0
  45.   LOCATE 20, 34 : PRINT " Abbrechen "
  46.   COLOR 0, 7
  47.   WHILE NOT iExit
  48.     CALL DisplayPosition
  49.     IF FN LeftButton THEN
  50.       iX = FN GetXTextPosition
  51.       iY = FN GetYTextPosition
  52.       IF iY = 20 THEN
  53.         IF (iX >= 34) AND (iX <= 44) THEN iExit = %TRUE
  54.       END IF
  55.       IF iY = 2 THEN
  56.         IF (iX >= 2) AND (iX <=  5) THEN
  57.           iExit     = %TRUE                 ' Flag für Infobox
  58.           iExitFlag = %TRUE                 ' Flag für Hauptprogramm
  59.         END IF
  60.       END IF
  61.     END IF
  62.   WEND
  63.   CALL HideCursor
  64.   FOR it = 8 TO 22
  65.     LOCATE it, 25
  66.     PRINT SPACE$(30);
  67.   NEXT it
  68.   CALL ShowCursor
  69. END SUB
  70.  
  71.  
  72. SUB DisplayPosition
  73.   LOCATE  4, 21
  74.   PRINT FN GetXTextPosition
  75.   LOCATE  6, 21
  76.   PRINT FN GetYTextPosition
  77.   LOCATE  8, 21
  78.   PRINT FN LeftButton
  79.   LOCATE 10, 21
  80.   PRINT FN RightButton
  81.   LOCATE 12, 21
  82.   PRINT FN MiddleButton
  83. END SUB
  84.  
  85. HauptProgramm:
  86.   SCREEN 0
  87.   COLOR 0, 7, 7
  88.   CLS
  89.   CALL Rahmen
  90.   iMouseFlag = FN InitMouse
  91.     LOCATE 2, 2, 0
  92.     PRINT "Ende Info"
  93.     LOCATE  4, 2
  94.     PRINT "X-Position    :"
  95.     LOCATE  6, 2
  96.     PRINT "Y-Position    :"
  97.     LOCATE  8, 2
  98.     PRINT "Linke Taste   :"
  99.     LOCATE 10, 2
  100.     PRINT "Rechte Taste  :"
  101.     LOCATE 12, 2
  102.     PRINT "Mittlere Taste:"
  103.     CALL ShowCursor
  104.     WHILE NOT iExitFlag
  105.       CALL DisplayPosition
  106.       IF FN LeftButton THEN
  107.         iX = FN GetXTextPosition
  108.         iY = FN GetYTextPosition
  109.         iXMickey = FN GetXMickey
  110.         IF iY = 2 THEN
  111.           IF (iX >= 2) AND (iX <=  5) THEN iExitFlag = %TRUE
  112.           IF (iX >= 7) AND (iX <= 10) THEN
  113.             CALL InfoBox
  114.           END IF
  115.         END IF
  116.       END IF
  117.     WEND
  118.     CALL HideCursor
  119.     CALL ResetMouse
  120.     CLS
  121. END
  122.