5748402 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n mswndow3.bas
   1: DECLARE SUB BackGround (C!)
   2: DECLARE SUB Sleep2 (T!)
   3: DECLARE SUB Window2 (length!, height!, row!, column!)
   4: DECLARE SUB Textbx (sx!, sy!, EX!, EY!)
   5: DECLARE SUB Button1 (X!, Y!, S!, P!, tle$)
   6: CLS
   7: SCREEN 12
   8: BackGround 1
   9: '          ³
  10: '         Color
  11: '
  12: ' Color - Color of Background
  13: '+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  14: 
  15: Sleep2 1.2
  16: 
  17: Window2 350, 426, 10, 20
  18: '        ³    ³    ³  ÀÄÄÄ¿
  19: '        ³    ³    ÀÄÄÄ¿  ÀÄÄÄÄ¿
  20: '    Length  Height  StartX  StartY
  21: '
  22: ' Length - How long (left to right) the window is
  23: ' Heigth - How tall (up and down) the window is
  24: ' StartX - Starting X position (pixels down from top)
  25: ' StartY - Starting Y position (pixels right of top)
  26: '
  27: '+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  28: Textbx 40, 40, 290, 55
  29: '       ³   ³   ³    ÀÄÄÄ¿
  30: '       ³   ÀÄ¿ ÀÄÄÄÄÄ¿  ÀÄÄ¿
  31: '   StartX  StartY  EndX   EndY
  32: '
  33: ' StartX - Starting X position (pixels down from top)
  34: ' StartY - Starting Y position (pixels right of top)
  35: ' EndX   - Ending X position (pixels down from top)
  36: ' EndY   - Ending Y position (pixels right of top)
  37: '
  38: '+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  39: Button1 50, 100, 36, 0, "   G"
  40: '        ³   ³    ³  ÀÄÄÄ¿  ÀÄÄÄ¿
  41: '        ³   ÀÄ¿  ÀÄÄÄÄÄ¿ÀÄÄ¿   ÀÄ¿
  42: '     StartY  StartX  Size Press Title
  43: '
  44: ' StartX - Starting X position (pixels down from top)
  45: ' StartY - Starting Y position (pixels right of top)
  46: ' Size   - Size Of Button
  47: ' Press  - 1 or 0 (1 if pressed ,0 if not pressed)
  48: ' Title  - Text on Button
  49: '+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  50: 
  51: DO UNTIL INKEY$ = CHR$(13)
  52: Sleep2 .2
  53: Button1 50, 100, 36, 1, "   G"
  54: Sleep2 .2
  55: Button1 50, 100, 36, 0, "   G"
  56: LOOP
  57: 
  58: SUB BackGround (C)
  59: LINE (-1, -1)-(640, 480), C, BF
  60: END SUB
  61: 
  62: SUB Button1 (X, Y, S, P, tle$)
  63: IF P = 0 THEN clr1 = 15: clr2 = 8 ELSE clr1 = 8: clr2 = 15
  64: EX = X + S: EY = Y + S
  65: LINE (X, Y)-(EX, EY), 7, BF
  66: LINE (X, Y)-(EX, EY), 0, B
  67: LINE (X + 5, Y + 5)-(EX - 5, EY - 5), 7, BF
  68: LINE (X + 4, Y + 4)-(EX - 4, EY - 4), 0, B
  69: LINE (X, EY)-(X + 4, EY - 4), 0
  70: LINE (EX, Y)-(EX - 4, Y + 4), 0
  71: PAINT (X + 1, Y + 1), clr1, 0
  72: PAINT (EX - 1, EY - 1), clr2, 0
  73: END SUB
  74: 
  75: SUB Sleep2 (T)
  76: A = TIMER
  77: DO UNTIL TIMER >= A + T: LOOP
  78: 
  79: 
  80: END SUB
  81: 
  82: SUB Textbx (sx, sy, EX, EY)
  83: LINE (sx - 1, sy - 1)-(EX + 1, EY + 1), 0, B
  84: LINE (sx, sy)-(EX, EY), 15, BF
  85: END SUB
  86: 
  87: SUB Window2 (length, height, row, column)
  88: LINE (column, row)-(column + length, row + height), 0, B
  89: FOR i% = 1 TO 2
  90: row = row + 1: column = column + 1: height = height - 1: length = length - 1
  91: LINE (column, row)-(column + length, row), 7
  92: LINE (column, row)-(column, row + height), 7
  93: NEXT i%
  94: row = row + 1: column = column + 1: height = height - 1: length = length - 1
  95: LINE (column, row)-(column + length, row), 0
  96: LINE (column, row)-(column, row + height), 0
  97: LINE (column, row)-(column + 18, row + 18), 7, BF
  98: LINE (column, row)-(column + 18, row + 18), 0, B
  99: LINE (column + 18, row - 2)-(column + 18, row + 5), 0
 100: LINE (column - 2, row + 18)-(column + 5, row + 18), 0
 101: LINE (column + 5, row + 7)-(column + 13, row + 9), 15, BF: LINE (column + 5, row + 7)-(column + 13, row + 9), 0, B
 102: LINE (column + 14, row + 7)-(column + 14, row + 9), 8
 103: LINE (column + 6, row + 10)-(column + 14, row + 10), 8, B
 104: LINE (column + 18, row)-(column + length, row + 18), 9, BF
 105: LINE (column + 18, row)-(column + length, row + 18), 0, B
 106: LINE (column + length, row - 3)-(column + length + 2, row + height), 7, BF
 107: LINE (column + length, row - 3)-(column + length + 3, row + height), 0, B
 108: LINE (column + length, row - 2)-(column + length, row - 1), 7
 109: LINE (column + length - 18, row - 2)-(column + length - 18, row - 1), 0
 110: LINE (column + length, row + 18)-(column + length + 2, row + 18), 0
 111: LINE (column, row + height - 3)-(column + length, row + height - 3), 0, B
 112: LINE (column, row + height - 2)-(column + length + 2, row + height), 7, BF
 113: LINE (column - 2, row + height)-(column + length + 2, row + height), 0, B
 114: LINE (column - 2, row + height - 18)-(column, row + height - 18), 0
 115: LINE (column + length - 2, row + height - 18)-(column + length + 2, row + height - 18), 0
 116: LINE (column + 18, row + height)-(column + 18, row + height - 2), 0
 117: LINE (column + length - 18, row + height)-(column + length - 18, row + height - 2), 0
 118: LINE (column + 1, row + 19)-(column + length - 1, row + height - 4), 7, BF
 119: END SUB
 120: 
5748403 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-05-09 21:05:41