' +---------------------------------------------------------------------+ ' | BMColors.Bas | ' | | ' | Version 2.0 | ' | Public Domain - FreeWare | ' +---------------------------------------------------------------------+ ' | | ' | BMColors is a public domain, freeware program written by Don | ' | Smith. It was designed to show the fifteen color menus and the | ' | default menu colors which go with the BeeMenu Program. | ' | | ' | Today's date: February 26, 2006. | ' | | ' | | ' +---------------------------------------------------------------------+ ' +---------------------------------------------------------------------+ ' | - ABOUT THE AUTHOR - | ' +---------------------------------------------------------------------+ ' | | ' | Hello. My name is Don Smith and I am a retired thiry-year teacher | ' | of Math/History/Spanish residing in Orange County, California. I am | ' | also a former 6-year Sergeant of Marines. Who-Rah! On certain forums| ' | I am known as MarineDon. My email is: smithdonb@earthlink.net | ' | | ' +---------------------------------------------------------------------+ ' +---------------------------------------------------------------------+ ' | - COPYING AND DISTIBUTING - | ' +---------------------------------------------------------------------+ ' | Since this code is public domain and freeware, anyone may freely | ' | copy and distribute it. If you use the QuickBasic code in one of | ' | your own programs, you do not have to cite my name as the author, | ' | and you may even change its name. | ' +---------------------------------------------------------------------+ ' +---------------------------------------------------------------------+ ' | | ' | Compile: BC: BBmenuQB.Bas | ' | LINK: BBmenuQB.Bas | ' | LIB: Pro.Lib PDQ.Lib | ' +---------------------------------------------------------------------+ MenuTitle$ = "<<< D e m o M e n u >>>" REDIM MenuItem$(10) MenuItem$(1) = "1. View This File" MenuItem$(2) = "2. Double Style Menu" MenuItem$(3) = "3. Hear Bell Sounds" MenuItem$(4) = "4. View Box Styles" MenuItem$(5) = "5. GiveInfo Program" MenuItem$(6) = "6. GiveInfo With (Y/N)" MenuItem$(7) = "7. See Menu Colors" MenuItem$(8) = "8. See PassWord Demo" MenuItem$(9) = "9. See HexMenus2" MenuItem$(10) = "0. Exit To Demo Menu" BottomLine$ = "Bottom Message May Be Omitted" SSS% = 0 top: MenuType% = SSS% IF SSS% = 0 THEN MenuType% = 100 IF MenuType% = 16 THEN SSS% = 0 MenuType% = 100 END IF NoShadow = 0 ' +-------------------------------+---------------------------------+ ' | b% = box color | T% = title color | ' | BG% = background behind box | S% = "S E L E C T" color | ' | CM% = clearing color | MI% = menu item color | ' +-------------------------------+---------------------------------+ IF MenuType% = 1 THEN B% = 26: BG% = 34: CM% = 17: T% = 31: S% = 39: MI% = 31: BOTT% = 47 ELSEIF MenuType% = 2 THEN 'blue on white B% = 159: BG% = 31: CM% = 159: T% = 159: S% = 240: MI% = 159: BOTT% = 31 ELSEIF MenuType% = 3 THEN B% = 192: BG% = 159: CM% = 192: T% = 192: S% = 15: MI% = 192: BOTT% = 159 ELSEIF MenuType% = 4 THEN B% = 47: BG% = 160: CM% = 34: T% = 47: S% = 10: MI% = 47: BOTT% = 160 ELSEIF MenuType% = 5 THEN B% = 240: BG% = 17: CM% = 240: T% = 240: S% = 31: MI% = 240: BOTT% = 31 ELSEIF MenuType% = 6 THEN B% = 240: BG% = 34: CM% = 240: T% = 240: S% = 10: MI% = 240: BOTT% = 47 ELSEIF MenuType% = 7 THEN B% = 240: BG% = 51: CM% = 240: T% = 240: S% = 10: MI% = 240: BOTT% = 63 ELSEIF MenuType% = 8 THEN B% = 240: BG% = 0: CM% = 240: T% = 240: S% = 11: MI% = 240: BOTT% = 15 ELSEIF MenuType% = 9 THEN B% = 224: BG% = 160: CM% = 224: T% = 224: S% = 160: MI% = 224: BOTT% = 160 ELSEIF MenuType% = 10 THEN B% = 63: BG% = 0: CM% = 63: T% = 63: S% = 11: MI% = 63: BOTT% = 15 ELSEIF MenuType% = 11 THEN B% = 15: BG% = 0: CM% = 0: T% = 15: S% = 15: MI% = 15: BOTT% = 15 ELSEIF MenuType% = 12 THEN B% = 11: BG% = 51: CM% = 0: T% = 15: S% = 11: MI% = 15: BOTT% = 63 ELSEIF MenuType% = 13 THEN B% = 79: BG% = 17: CM% = 68: T% = 79: S% = 31: MI% = 75: BOTT% = 31 ELSEIF MenuType% = 14 THEN B% = 94: BG% = 51: CM% = 85: T% = 94: S% = 63: MI% = 95: BOTT% = 63 ELSEIF MenuType% = 15 THEN B% = 208: BG% = 159: CM% = 208: T% = 208: S% = 11: MI% = 208: BOTT% = 159 ELSEIF MenuType% = 100 THEN B% = 31: BG% = 157: CM% = 17: T% = 27: S% = 240: MI% = 31: BOTT% = 159 ELSEIF MenuType% = 200 THEN B% = 15: BG% = 0: CM% = 0: T% = 15: S% = 15: MI% = 15: BOTT% = 15 END IF CALL ClearScr0(1, 1, 25, 80, BG%) set.up: Col% = 32 IF NoShadow = 0 THEN CALL PaintBox0(3, 24, 5, 61, 0) CALL ClearScr0(2, 22, 4, 59, CM%) IF BottomLine$ <> "" THEN 'CALL ClearScr0(22, 1, 25, 80, BOTT%) LOCATE 24, 1: CALL MQPrint(STRING$(26 - (LenBottom \ 2) - 1, " "), BOTT%) LOCATE 24, 26 - (LenBottom \ 2) + LEN(" " + BottomLine$ + " ") CALL MQPrint(STRING$(26 - (LenBottom \ 2) + LEN(" " + BottomLine$ + " "), " "), BOTT%) LOCATE 24, 26 - (LenBottom \ 2), 0 CALL MQPrint(" " + BottomLine$ + " ", BOTT%) LOCATE 1, 1, 0 END IF CALL Box0(2, 23, 4, 58, 2, B%) IF NoShadow = 0 THEN CALL PaintBox0(8, 20, 21, 65, 0) CALL ClearScr0(7, 18, 20, 63, CM%) CALL Box0(7, 19, 20, 62, 2, B%) LineA$ = CHR$(204) + STRING$(42, 205) + CHR$(185) LOCATE 9, 19: CALL MQPrint(LineA$, B%) LOCATE 8, Col% - 1: CALL MQPrint(" ð S e l e c t ð ", S%) LenTitle = LEN(MenuTitle$) LOCATE 3, 40 - (LenTitle \ 2) + 1: CALL MQPrint(MenuTitle$, T%) FOR ShowItem = 1 TO 10 M$ = MenuItem$(ShowItem) LOCATE 9 + ShowItem, Col%: CALL MQPrint(M$, MI%) NEXT GOSUB box.1A IF SSS% > 0 AND SSS% < 16 THEN GOSUB box.1B END IF IF SSS% = 0 THEN GOSUB box.2 GOSUB box.3 END IF IF MenuType% = 15 THEN GOSUB box.4 END IF loopdeloop: DO DO EdW$ = INKEY$ LOOP UNTIL LEN(EdW$) > 0 SlamKey% = CVI(EdW$ + CHR$(0)) SELECT CASE SlamKey% CASE 27 COLOR 7, 0: CLS : LOCATE 1, 1, 1, 6, 7: END CASE 18432 ' SSS% = SSS% - 1 CASE 18688 'PgUp SSS% = SSS% - 1 CASE 20480 ' SSS% = SSS% + 1 CASE 20736 'PgDn SSS% = SSS% + 1 CASE 13 'Enter SSS% = SSS% + 1 END SELECT IF SSS% = 17 THEN SSS% = 1 ELSEIF SSS% = 0 THEN MenuType% = 100 ELSEIF SSS% < 0 THEN 'UpArrow, LeftArrow, PageUp IF SlamKey% = 18432 OR SlamKey% = 19712 OR SlamKey% = 18688 THEN SSS% = 15 END IF END IF GOTO top LOOP ThisOnce% = 0 GOTO top '------------------------BOXES HERE:------------------------------ box.1A: CALL PaintBox0(2, 4, 5, 19, 8) CALL Box0(1, 2, 4, 17, 1, 79) CALL ClearScr0(2, 3, 3, 16, 79) LOCATE 2, 3: CALL MQPrint("Menu Number Is", 79) IF MenuType% = 100 THEN LOCATE 3, 6: CALL MQPrint("Default", 79) ELSE LOCATE 3, 8: CALL MQPrint(STR$(MenuType%), 79) END IF RETURN box.1B: CALL PaintBox0(12, 4, 18, 24, 8) CALL ClearScr0(11, 2, 17, 22, 240) CALL Box0(11, 2, 17, 22, 1, 240) LOCATE 12, 5: CALL MQPrint("Press or", 240) LOCATE 13, 8: CALL MQPrint("<" + CHR$(25) + "> <" + CHR$(24) + ">", 240) LOCATE 14, 2: CALL MQPrint(CHR$(195) + STRING$(19, 196) + CHR$(180), 240) LOCATE 15, 4: CALL MQPrint("To leave at any", 240) LOCATE 16, 4: CALL MQPrint("time, press ", 240) RETURN box.2: CALL PaintBox0(12, 7, 18, 32, 8) CALL ClearScr0(11, 5, 17, 30, 240) CALL Box0(11, 5, 17, 30, 1, 240) LOCATE 12, 6: CALL MQPrint("To view the 15 menus,", 240) LOCATE 13, 6: CALL MQPrint("press or <" + CHR$(25) + "> <" + CHR$(24) + ">", 240) LOCATE 14, 5: CALL MQPrint(CHR$(195) + STRING$(24, 196) + CHR$(180), 240) LOCATE 15, 6: CALL MQPrint("To leave at any", 240) LOCATE 16, 11: CALL MQPrint("time, press .", 240) RETURN box.3: CALL PaintBox0(12, 41, 18, 73, 8) CALL Box0(11, 39, 17, 71, 1, 240) CALL ClearScr0(12, 40, 16, 70, 240) LOCATE 12, 49: CALL MQPrint("Please Note:", 240) LOCATE 13, 39: CALL MQPrint(CHR$(195) + STRING$(31, 196) + CHR$(180), 240) LOCATE 14, 41: CALL MQPrint("If no menu number is selected", 240) LOCATE 15, 41: CALL MQPrint("by the user, then the default", 240) LOCATE 16, 41: CALL MQPrint("menu color shall be presented.", 240) RETURN box.4: SELECT CASE SlamKey% CASE 20480, 19712, 20736, 13 CALL PaintBox0(12, 4, 19, 31, 8) CALL ClearScr0(11, 2, 18, 29, 240) CALL Box0(11, 2, 18, 29, 1, 240) LineInsert$ = CHR$(195) + STRING$(26, 196) + CHR$(180) LOCATE 12, 6: CALL MQPrint(" - NO MORE MENUS -", 240) LOCATE 13, 2: CALL MQPrint(LineInsert$, 240) LOCATE 14, 5: CALL MQPrint("To quit press .", 240) LOCATE 15, 2: CALL MQPrint(LineInsert$, 240) LOCATE 16, 5: CALL MQPrint("To continuue, press", 240) LOCATE 17, 5: CALL MQPrint(" or <" + CHR$(24) + "><" + CHR$(25) + ">.", 240) END SELECT RETURN