5748464 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n daol.bas
   1: DECLARE SUB LoadWindowsDrivers ()
   2: DECLARE SUB MsgBox (ms$, Tit$)
   3: DECLARE SUB Windows (X!, Y!, Wd!, Ht!, Style%, BackColor!, ForeColor!, Visible!, Caption$, Name$)
   4: DECLARE SUB ModifyStatus (frm$, l!, t!, w!, H!, s!, bc!, fc!, v!, c$)
   5: DECLARE SUB DoEvents ()
   6: DECLARE SUB QueryUnload ()
   7: DECLARE SUB AddForm (frmID$)
   8: DECLARE SUB Background (n!)
   9: DECLARE SUB Refresh (frm$, n!)
  10: DECLARE SUB Button2 (x1!, y1!, x2!, y2!, p!, t$)
  11: DECLARE SUB MouseHide ()
  12: DECLARE SUB Print2 (X!, Y!, cv!, t$)
  13: DECLARE SUB MouseShow ()
  14: DECLARE SUB MouseStatus (lb%, rb%, xMouse%, yMouse%)
  15: DECLARE SUB Sleep2 (t!)
  16: DECLARE SUB ConvWindInf (gg$, p1!, p2!, p3!, p4!, p5!, p6!, p7!, p8!, tt$, nm$)
  17: DECLARE SUB Font (t$, cl!)
  18: DECLARE FUNCTION LastPart$ (t$, s$)
  19: DECLARE SUB LoadFont (f$)
  20: DECLARE SUB MouseDriver (ax%, bx%, cx%, dx%)
  21: DECLARE FUNCTION MouseInit% ()
  22: DECLARE FUNCTION TextWidth! (t$)
  23: DECLARE FUNCTION TRIMS$ (n!, t$)
  24: DECLARE SUB ChangePal (Red%, Green%, Blue%, syscolor%)
  25: '------------------------ Setup Neccasary Drivers ----------------------'
  26: CONST True = -1
  27: CONST False = NOT (True)
  28: DIM SHARED Txt(255) AS STRING
  29: DIM SHARED Mouse$
  30: DIM SHARED NoMouse%
  31: Mouse$ = SPACE$(57)
  32: LoadWindowsDrivers
  33: '---------------------------- Code Begins Here --------------------------'
  34: Windows 0, 0, 640, 480, 2, 8, 0, True, "America OnLine", "Form1"
  35: 
  36: DO UNTIL 1 = 2: DoEvents: LOOP
  37: 
  38: QueryUnload
  39: END
  40: '---------------------------------- GOSUBS --------------------------------'
  41: ResumeNext:
  42: RESUME NEXT
  43: 
  44: TimerUp:
  45: DoEvents
  46: RETURN
  47: '--------------------------------- DATA for mouse ----------------------'
  48: DATA 55,89,E5,8B,5E,0C,8B,07,50,8B,5E,0A,8B,07,50,8B
  49: DATA 5E,08,8B,0F,8B,5E,06,8B,17,5B,58,1E,07,CD,33,53
  50: DATA 8B,5E,0C,89,07,58,8B,5E,0A,89,07,8B,5E,08,89,0F
  51: DATA 8B,5E,06,89,17,5D,CA,08,00
  52: 
  53: 'Adds a form to the QBWinem environment
  54: 'frmID$ = Left Top Width Height Style ForeColor BackColor Visible Len(Caption)Caption Name
  55: SUB AddForm (frmID$)
  56: X = FREEFILE
  57: OPEN "WIND.WND" FOR RANDOM ACCESS READ AS #X
  58: IF LOF(X) = 0 THEN
  59: CLOSE X: OPEN "WIND.WND" FOR OUTPUT AS #X
  60: ELSE
  61: CLOSE X
  62: OPEN "WIND.WND" FOR INPUT AS #X
  63: DO UNTIL EOF(X)
  64: LINE INPUT #X, g$
  65: IF LastPart$(g$, " ") = LastPart$(frmID$, " ") THEN CLOSE X: EXIT SUB
  66: LOOP
  67: CLOSE X
  68: OPEN "WIND.WND" FOR APPEND AS #X
  69: END IF
  70: PRINT #X, frmID$
  71: CLOSE X
  72: END SUB
  73: 
  74: 'Sets the Background color
  75: 'n = a vaild color (0-15)
  76: SUB Background (n)
  77: LINE (0, 0)-(640, 480), n, BF
  78: X = FREEFILE
  79: OPEN "Back.WND" FOR OUTPUT AS #X
  80: PRINT #X, TRIMS$(n, "")
  81: CLOSE X
  82: Refresh "", 1
  83: END SUB
  84: 
  85: 'Draws a button
  86: 'x1=starting x pos of button
  87: 'y1=starting y pos of button
  88: 'x2=ending x pos of button
  89: 'y2=ending y pos of button
  90: 'p = (0-3) 0=unpushed:1=pushed:3=on enter push and release
  91: 't$=Text On Button
  92: SUB Button2 (x1, y1, x2, y2, p, t$)
  93: MouseHide
  94: IF p = 1 OR p = 4 THEN q = 1: GOTO PUSHED
  95: LINE (x1, y1)-(x1, y2 - 1), 15
  96: LINE (x1, y1)-(x2 - 1, y1), 15
  97: LINE (x2 - 1, y1 + 1)-(x2 - 1, y2 - 1), 8
  98: LINE (x2 - 1, y2 - 1)-(x1 + 1, y2 - 1), 8
  99: LINE (x1, y2)-(x2, y2), 0
 100: LINE (x2, y2)-(x2, y1), 0
 101: LINE (x1 + 1, y1 + 1)-(x2 - 2, y2 - 2), 7, BF
 102: IF p = 6 THEN Print2 INT(((x2 - x1) / 2) - ((LEN(t$) / 2) * 8) + x1), y1 + 14, 0, t$: MouseShow: DO UNTIL Clk% <> 0 AND ClX% > x1 - 1 AND ClX% < x2 + 1 AND ClY% > y1 - 1 AND ClY% < y2 + 1 OR INKEY$ = CHR$(13): MouseStatus l%, r%, ClX%, ClY%: Clk% = l% + r%: LOOP: Sleep2 .13: MouseHide: GOTO PUSHED
 103: IF p = 5 THEN Print2 INT(((x2 - x1) / 2) - ((LEN(t$) / 2) * 8) + x1), y1 + 14, 0, t$: DO UNTIL Clk = 1 AND ClX > x1 - 1 AND ClX < x2 + 1 AND ClY > y1 - 1 AND ClY < y2 + 1: LOOP: Sleep2 .13: GOTO PUSHED
 104: IF p = 3 THEN Print2 INT(((x2 - x1) / 2) - ((LEN(t$) / 2) * 8) + x1), y1 + 14, 0, t$: MouseShow: DO UNTIL INKEY$ = CHR$(13): LOOP: q = 1: MouseHide ELSE GOTO ssd
 105: PUSHED:
 106: LINE (x1, y1)-(x1, y2), 0
 107: LINE (x1, y1)-(x2, y1), 0
 108: LINE (x1 + 1, y1 + 1)-(x1 + 1, y2 - 1), 8
 109: LINE (x1 + 1, y1 + 1)-(x2 - 1, y1 + 1), 8
 110: LINE (x1 + 1, y2)-(x2, y2), 15
 111: LINE (x2, y2)-(x2, y1 + 1), 15
 112: LINE (x1 + 2, y1 + 2)-(x2 - 1, y2 - 1), 7, BF
 113: ssd:
 114: IF LEN(t$) * 8 > x2 - x1 THEN EXIT SUB
 115: wdt = x2 - x1
 116: Print2 INT((wdt / 2) - ((LEN(t$) / 2) * 8) + x1), y1 + 14 + q, 0, t$
 117: IF p > 2 THEN Sleep2 .13
 118: IF p > 2 THEN Button2 x1, y1, x2, y2, 0, t$
 119: MouseShow
 120: END SUB
 121: 
 122: SUB ChangePal (Red%, Green%, Blue%, syscolor%)
 123: palmask = &H3C6
 124: palregrd = &H3CF
 125: palregwr = &H3C8
 126: paldata = &H3C9
 127: OUT palmask, &HFF
 128: OUT palregwr, syscolor%
 129: OUT paldata, Red%
 130: OUT paldata, Green%
 131: OUT paldata, Blue%
 132: END SUB
 133: 
 134: 'Breaks form information text into neccasary component
 135: 'gg$=form id
 136: 'p1 - nm$ = used for sending all property's at once
 137: '
 138: SUB ConvWindInf (gg$, p1, p2, p3, p4, p5, p6, p7, p8, tt$, nm$)
 139: DIM FirstS(7)
 140: FirstS(0) = VAL(MID$(gg$, 1, INSTR(gg$, " ")))
 141: FOR q = 1 TO 7
 142: CNtr = INSTR(CNtr + 1, gg$, " ")
 143: ln = INSTR(CNtr + 1, gg$, " ") - CNtr
 144: FirstS(q) = VAL(MID$(gg$, CNtr, ln))
 145: NEXT q
 146: NmLN = ASC(MID$(gg$, CNtr + ln + 1, 1))
 147: FOR q = CNtr + ln + 2 TO NmLN + CNtr + ln + 1
 148: tt$ = tt$ + MID$(gg$, q, 1)
 149: NEXT q
 150: CNtr = q
 151: FOR q = CNtr + 1 TO LEN(gg$)
 152: nm$ = nm$ + MID$(gg$, q, 1)
 153: NEXT q
 154: p1 = FirstS(0)
 155: p2 = FirstS(1)
 156: p3 = FirstS(2)
 157: p4 = FirstS(3)
 158: p5 = FirstS(4)
 159: p6 = FirstS(5)
 160: p7 = FirstS(6)
 161: p8 = FirstS(7)
 162: END SUB
 163: 
 164: SUB DoEvents
 165: MouseStatus l%, r%, X%, Y%
 166: a$ = INKEY$
 167: IF a$ = CHR$(27) THEN QueryUnload: END
 168: IF a$ = CHR$(9) THEN MsgBox "Tab key was pressed", "/\/\ /-\ CRO /\/\ /-\ |\|"
 169: IF a$ = " " THEN ModifyStatus "Form1", -1, -1, -1, -1, -1, -1, -1, -3, ""
 170: END SUB
 171: 
 172: 'Draws text on the screen using my fonts
 173: 't$ = Text to be printed
 174: 'cl = color of text (0-15)
 175: SUB Font (t$, cl)
 176: IF cl = -1 THEN  ELSE f$ = "C" + LTRIM$(RTRIM$(STR$(cl))): DRAW "X" + VARPTR$(f$)
 177: IF Txt(32) = "" THEN EXIT SUB
 178: FOR qww = 1 TO LEN(t$)
 179: IF ASC(MID$(t$, qww, 1)) = 0 THEN DRAW "X" + VARPTR$(Txt(32)) ELSE DRAW "X" + VARPTR$(Txt(ASC(MID$(t$, qww, 1)))): DRAW "BL": GOTO 1011
 180: 1011 NEXT qww
 181: END SUB
 182: 
 183: ' Used for finding the lastpart of a string
 184: 't$=text to find last part of
 185: 's$=seperator, what denotes the lastpart from the rest of the string
 186: FUNCTION LastPart$ (t$, s$)
 187: FOR q = LEN(t$) TO 1 STEP -1
 188: IF MID$(t$, q, 1) = s$ THEN EXIT FOR ELSE d$ = MID$(t$, q, 1) + d$
 189: NEXT q
 190: LastPart$ = d$
 191: END FUNCTION
 192: 
 193: 'Loads a font from disk
 194: 'f$ = Font name (PB version loads several)
 195: SUB LoadFont (f$)
 196: ON ERROR GOTO ResumeNext
 197: OPEN f$ FOR INPUT AS #1: t = 0
 198: DO UNTIL EOF(1) OR FRE("") < 1000
 199: LINE INPUT #1, Txt(t)
 200: IF t = 255 THEN EXIT DO
 201: t = t + 1
 202: LOOP
 203: CLOSE 1
 204: END SUB
 205: 
 206: ' Just a sub to make everything look neat
 207: SUB LoadWindowsDrivers
 208: SCREEN 12
 209: LoadFont "\FONTS\MSSANSSE.FNT"
 210: Background 3
 211: ON TIMER(1) GOSUB TimerUp: TIMER ON
 212: 
 213: FOR I% = 1 TO 57: READ a$: H$ = CHR$(VAL("&H" + a$)): MID$(Mouse$, I%, 1) = H$: NEXT I%
 214: ms% = MouseInit%
 215: IF NOT ms% THEN PRINT "Mouse not found": NoMouse% = True
 216: MouseShow
 217: ChangePal 0, 0, 165, 1
 218: ChangePal 0, 0, 255, 9
 219: END SUB
 220: 
 221: ' Allows You to modify the status of a form
 222: 'frm$=Form name
 223: 'l -  fc= (-1 to ignore)
 224: 'v= visible (-2 to ignore)
 225: 'c$=Caption (Null to ignore)
 226: SUB ModifyStatus (frm$, l, t, w, H, s, bc, fc, v, c$)
 227: X = FREEFILE
 228: OPEN "WIND.WND" FOR INPUT AS #X
 229: z = FREEFILE
 230: OPEN "WIND.TMP" FOR OUTPUT AS #z
 231: DO UNTIL EOF(X)
 232: LINE INPUT #1, g$
 233: IF LastPart$(frm$, " ") = LastPart$(g$, " ") THEN
 234: ConvWindInf g$, p1, p2, p3, p4, p5, p6, p7, p8, ttl$, Nam$
 235: op8 = p8
 236: IF l = -1 THEN  ELSE p1 = l: EntSc = 1
 237: IF t = -1 THEN  ELSE p2 = t: EntSc = 1
 238: IF w = -1 THEN  ELSE p3 = w: EntSc = 1
 239: IF H = -1 THEN  ELSE p4 = H: EntSc = 1
 240: IF s = -1 THEN  ELSE p5 = s
 241: IF bc = -1 THEN  ELSE p6 = bc
 242: IF fc = -1 THEN  ELSE p7 = fc
 243: IF v = -3 THEN v = NOT (p8)
 244: IF v = -2 THEN  ELSE p8 = v: EntSc = 1
 245: IF c$ = "" THEN  ELSE ttl$ = c$
 246: IF op8 = False THEN EntSc = 0
 247: IF LEN(g$) + LOC(X) >= LOF(X) THEN  ELSE EntSc = 1
 248: g$ = TRIMS$(p1, "") + " " + TRIMS$(p2, "") + " " + TRIMS$(p3, "") + " " + TRIMS$(p4, "") + " " + TRIMS$(CSNG(p5), "") + " " + TRIMS$(p6, "") + " " + TRIMS$(p7, "") + " " + TRIMS$(p8, "") + " " + CHR$(LEN(ttl$)) + ttl$ + " " + TRIMS$(0, Nam$)
 249: END IF
 250: PRINT #z, g$
 251: LOOP
 252: CLOSE X, z
 253: KILL "WIND.WND"
 254: NAME "WIND.TMP" AS "WIND.WND"
 255: IF (op8 = False AND p8 = False) THEN  ELSE Refresh frm$, EntSc
 256: END SUB
 257: 
 258: SUB MouseDriver (ax%, bx%, cx%, dx%)
 259: IF NoMouse% = True THEN EXIT SUB
 260: DEF SEG = VARSEG(Mouse$)
 261: Mouse% = SADD(Mouse$)
 262: CALL Absolute(ax%, bx%, cx%, dx%, Mouse%)
 263: END SUB
 264: 
 265: SUB MouseHide
 266: MouseDriver 2, 0, 0, 0
 267: END SUB
 268: 
 269: FUNCTION MouseInit%
 270:   ax% = 0
 271:   MouseDriver ax%, 0, 0, 0
 272:   MouseInit% = ax%
 273: END FUNCTION
 274: 
 275: SUB MouseShow
 276: MouseDriver 1, 0, 0, 0
 277: END SUB
 278: 
 279: SUB MouseStatus (lb%, rb%, xMouse%, yMouse%)
 280:   ax% = 3
 281:   MouseDriver ax%, bx%, cx%, dx%
 282:   lb% = ((bx% AND 1) <> 0)
 283:   rb% = ((bx% AND 2) <> 0)
 284:   xMouse% = cx%
 285:   yMouse% = dx%
 286: END SUB
 287: 
 288: 'Moves a form
 289: SUB Move (nm$, left, top)
 290: ModifyStatus nm$, left, top, -1, -1, -1, -1, -1, -1, ""
 291: END SUB
 292: 
 293: SUB MsgBox (ms$, Tit$)
 294: MouseHide
 295: wt$ = "OK"
 296: s = 17
 297: v = 15
 298: s = s + v
 299: FOR w = 1 TO LEN(ms$): l = l + 1: IF MID$(ms$, w, 1) = CHR$(13) THEN s = s + v
 300: NEXT w
 301: IF LEN(Tit$) >= LEN(ms$) THEN pix = INT(LEN(Tit$) * 8.4) ELSE pix = INT(LEN(ms$) * 8)
 302: IF INT(LEN(wt$) * 8.4) > pix THEN pix = INT(LEN(" (Press ENTER to continue.)") * 8.4)
 303: X = 320 - INT(pix / 2)
 304: Y = 175 - s
 305: DIM back(1 TO 10998)
 306: GET (X, Y)-(X + pix, Y + s + v), back
 307: LINE (X + 1, Y + 1)-(X + pix - 1, Y + v), 1, BF
 308: m$ = "BM" + RTRIM$(LTRIM$(STR$(X + 5))) + ", " + RTRIM$(LTRIM$(STR$(Y + v + 1)))
 309: DRAW "X" + VARPTR$(m$)
 310: Font Tit$, 15
 311: LINE (X, Y)-(X + pix, Y + s + v), 0, B
 312: LINE (X, Y + v)-(X + pix, Y + s + v), 0, B
 313: LINE (X + 1, Y + v + 1)-(X + pix - 1, Y + s + v - 1), 7, BF
 314: m$ = "BM" + RTRIM$(LTRIM$(STR$(X + 2))) + ", " + RTRIM$(LTRIM$(STR$(Y + v + v + 1)))
 315: DRAW "X" + VARPTR$(m$)
 316: j = Y
 317: FOR a = 1 TO LEN(ms$)
 318: IF MID$(ms$, a, 1) = CHR$(13) THEN j = j + v: m$ = "BM" + RTRIM$(LTRIM$(STR$(X + 2))) + ", " + RTRIM$(LTRIM$(STR$(j + v + v + 1))): DRAW "X" + VARPTR$(m$)
 319: Font MID$(ms$, a, 1), 0
 320: NEXT a
 321: j = j + v: m$ = "BM" + RTRIM$(LTRIM$(STR$(INT(X + (pix / 2) + (LEN(wt$) / 2) - 30)))) + ", " + RTRIM$(LTRIM$(STR$(j + v + v + 1))): DRAW "X" + VARPTR$(m$)
 322: 'Font wt$
 323: d = INT(X + (pix / 2) + (LEN(wt$) / 2) - 30)
 324: j = INT(j + v + v + 1)
 325: m = 117
 326: n = -107
 327: MouseShow
 328: Button2 j - n, d - m, j + 35 - n, d + 14 - m, 6, wt$
 329: PUT (X, Y), back, PSET
 330: END SUB
 331: 
 332: SUB Print2 (X, Y, cv, t$)
 333: IF X = -1 AND Y = -1 THEN d$ = "C" + LTRIM$(RTRIM$(STR$(cv))): GOTO 3
 334: IF X = -2 THEN X = (POS(0) * 8) - 7: g = -2
 335: IF Y = -2 THEN Y = CSRLIN * 16: n = -2
 336: xxx$ = LTRIM$(RTRIM$(STR$(X)))
 337: yyy$ = LTRIM$(RTRIM$(STR$(Y)))
 338: ccc$ = " C" + LTRIM$(RTRIM$(STR$(cv)))
 339: 'LOCATE 1, 1: PRINT d$
 340: 3 PSET (X, Y), POINT(X, Y)
 341: Font t$, cv
 342: IF g = -2 THEN LOCATE CSRLIN, POS(0) + LEN(t$)
 343: IF n = -2 THEN LOCATE CSRLIN + 1, 1
 344: END SUB
 345: 
 346: 'Does nessacery stuff before shutting down
 347: SUB QueryUnload
 348: KILL "WIND.WND"
 349: KILL "BACK.WND"
 350: END SUB
 351: 
 352: ' Refreshes a form or the screen
 353: 'frm$=Name of form to refresh (ignored if n=1)
 354: 'n=Refresh screen (0 to ignore)
 355: SUB Refresh (frm$, n)
 356: IF n = 1 THEN
 357: OPEN "WIND.WND" FOR RANDOM AS #1
 358: IF LOF(1) = 0 THEN CLOSE 1: EXIT SUB ELSE CLOSE 1
 359: OPEN "WIND.WND" FOR INPUT AS #1
 360: DIM FirstS(6) AS SINGLE
 361: OPEN "BACK.WND" FOR INPUT AS #2: INPUT #2, Bck: CLOSE #2
 362: MouseHide
 363: LINE (0, 0)-(640, 480), Bck, BF
 364: DO UNTIL EOF(1)
 365: LINE INPUT #1, gg$
 366: ConvWindInf gg$, p1, p2, p3, p4, p5, p6, p7, p8, tt$, nm$
 367: Windows p1, p2, p3, p4, CINT(p5), p6, p7, p8, tt$, nm$
 368: CNtr = 0: ln = 0: FOR q = 0 TO 5: FirstS(q) = 0: NEXT q: tt$ = "": nm$ = ""
 369: LOOP
 370: CLOSE 1
 371: MouseShow
 372: EXIT SUB
 373: END IF
 374: OPEN "WIND.WND" FOR RANDOM AS #1
 375: IF LOF(1) = 0 THEN CLOSE 1: EXIT SUB ELSE CLOSE 1
 376: OPEN "WIND.WND" FOR INPUT AS #1
 377: DO UNTIL EOF(1)
 378: LINE INPUT #1, gg$
 379: IF LastPart$(gg$, " ") = frm$ THEN ConvWindInf gg$, p1, p2, p3, p4, p5, p6, p7, p8, tt$, nm$: Windows p1, p2, p3, p4, CINT(p5), p6, p7, p8, tt$, nm$
 380: LOOP
 381: CLOSE 1
 382: END SUB
 383: 
 384: SUB Sleep2 (t)
 385: a = TIMER
 386: DO UNTIL TIMER >= a + t: LOOP
 387: END SUB
 388: 
 389: FUNCTION TextWidth (t$)
 390: FOR q = 1 TO LEN(t$)
 391: ta$ = Txt$(ASC(MID$(t$, q, 1)))
 392: FOR m = 1 TO LEN(ta$)
 393: IF LCASE$(MID$(ta$, m, 2)) = "br" THEN sz = sz + 1
 394: IF LCASE$(MID$(ta$, m, 2)) = "bl" THEN sz = sz - 1
 395: NEXT m
 396: NEXT q
 397: TextWidth = sz
 398: END FUNCTION
 399: 
 400: FUNCTION TRIMS$ (n, t$)
 401: IF t$ = "" THEN TRIMS$ = LTRIM$(RTRIM$(STR$(n))) ELSE TRIMS$ = LTRIM$(RTRIM$(t$))
 402: END FUNCTION
 403: 
 404: SUB Windows (X, Y, Wd, Ht, Style%, BackColor, ForeColor, Visible, Caption$, Name$)
 405: IF Visible = False THEN GOTO DoNotShow
 406: MouseHide
 407: x2 = X + Wd
 408: y2 = Y + Ht
 409: IF Style% = 2 OR Style% = 3 THEN
 410: LINE (X, Y)-(X, Y + Ht), 7
 411: LINE (X, Y)-(X + Wd, Y), 7
 412: LINE (X + 1, Y + 1)-(X + 1, Y + Ht - 1), 15
 413: LINE (X + 1, Y + 1)-(X + Wd - 1, Y + 1), 15
 414: LINE (X + 2, Y + 2)-(X + Wd - 2, Y + 2), 7
 415: LINE (X + 2, Y + 2)-(X + 2, Y + Ht - 2), 7
 416: LINE (X, Y + Ht)-(X + Wd, Y + Ht), 0
 417: LINE (X + Wd, Y)-(X + Wd, Y + Ht), 0
 418: LINE (X + 1, Y + Ht - 1)-(X + Wd - 1, Y + Ht - 1), 8
 419: LINE (X + Wd - 1, Y + 1)-(X + Wd - 1, Y + Ht - 1), 8
 420: LINE (X + 2, Y + Ht - 2)-(X + Wd - 2, Y + Ht - 2), 7
 421: LINE (X + Wd - 2, Y + 2)-(X + Wd - 2, Y + Ht - 2), 7
 422: LINE (X + 3, Y + 3)-(X + Wd - 3, Y + Ht - 3), BackColor, BF
 423: IF Caption$ <> "" THEN LINE ((X + 3), Y + 3)-(X + Wd - 3, Y + 19), 1, BF
 424: 'IF TextWidth(Caption$) > (X + Wd) / 2 THEN Caption$ = LEFT$(Caption$, 1) + "..."
 425: Print2 ((X + 2 + 20) - (Style% - 2) * 18), Y + 17, 15, Caption$
 426: END IF
 427: IF Style% = 0 THEN LINE (X, Y)-(X + Wd, Y + Ht), BackColor, BF
 428: IF Style% = 1 THEN
 429: LINE (X, Y)-(X + Wd, Y + Ht), 0, B
 430: LINE (X + 1, Y + 1)-(X + Wd - 1, Y + Ht - 1), BackColor, BF
 431: IF Caption$ <> "" THEN LINE (X + 1, Y + 1)-(X + Wd - 1, Y + 18), 1, BF
 432: Print2 (X + 2 + 20), Y + 17, 15, Caption$
 433: END IF
 434: MouseShow
 435: DoNotShow:
 436: frm$ = TRIMS$(X, "") + " " + TRIMS$(Y, "") + " " + TRIMS$(Wd, "") + " " + TRIMS$(Ht, "") + " " + TRIMS$(CSNG(Style%), "") + " " + TRIMS$(BackColor, "") + " " + TRIMS$(ForeColor, "") + " " + TRIMS$(Visible, "") + " " + CHR$(LEN(Caption$)) + Caption$ + " " + TRIMS$(0, Name$)
 437: AddForm frm$
 438: END SUB
 439: 
5748465 [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:01:27