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