A small module for the choice of options in your programs (key+mouse ok, but mouse wheel not in action here).
Code: (Select All)
'Optionator ' by Euklides
'A little selector of options in programs using mouse & key...
'----------------------------------------
' The menu of your program
'----------------------------------------
RESTART: Color 7, 0: Cls:
HVV = 8: Locate HVV - 1, 1: VID$ = " ": ima$ = ""
Color 0, 7: Print "{MENU} (choice with mouse or key)"
Color 14, 0: Print VID$; "0/ESC stop"
Print VID$; "1 Doing something interesting here"
Print VID$; "2 Here, come here "
Print VID$; "3 Start a game, for instance"
Print VID$; "4 Do you want something ?"
Print VID$; "5 Access to many options "
Print VID$; "6 and so on number 6"
Print VID$; "7 doing this or that !"
Print VID$; "8 and so on number 8"
Print VID$; "9 and so on number 9"
MousyComeOn: Color 7, 0: Locate 22, 1: Print String$(79, 32);
GoSub souriskey
'----------------------------------------
' Understanding your choice
'----------------------------------------
If clicko = 0 And z$ = "" Then GoTo MousyComeOn
If clicko = 0 Then numac = Val(z$): clicy = numac + HVV
If clicko > 0 Then numac = clicy - HVV
If human > 0 Then If z$ = Chr$(27) Then z$ = "0"
If numac < 0 Then Clear: GoTo RESTART
BB$ = "": For h = 1 To 75: BB$ = BB$ + Chr$(Screen(clicy, h)): Next h
BB$ = _Trim$(BB$): If BB$ = "" Then GoTo RESTART
Locate clicy, 1: Color 0, 5: Print VID$; BB$
If InStr(BB$, "{MENU}") > 0 Then GoTo RESTART:
showchoice: Locate 22, 1: Print BB$
'----------------------------------------
' Here you write your modules
'----------------------------------------
'choice: O/ESC stop
If Val(BB$) = 0 Or BB$ = "0/ESC stop" Then Cls: Print "Program stops now": Sleep: End
'case 1:
If Val(BB$) = 1 Or BB$ = "Doing something interesting here" Then
Print "Here please write your program...."
End If
'----------------------------------------
'And so on here...
'----------------------------------------
Sleep:
Stop
'----------------------------------------
' SP whith mouse or key working...
souriskey:
human = 0: clicko = 0: wheel = 0: OKDBLCLICK = 0
videx: If _MouseInput Then _Delay .01: GoTo videx
Souriskey2: z$ = InKey$: If z$ <> "" Then human = 1: Return
If _MouseInput Then
If Not _MouseWheel Then
xsouris = Int(_MouseX + .5): ysouris = Int(_MouseY + .5)
MOUVSOURI$ = Right$(Str$(ysouris + 100), 2) + "s" + Right$(Str$(xsouris + 100), 2)
If _MouseButton(1) Or _MouseButton(3) Then
clicko = 1: human = 3: clicx = xsouris: clicy = ysouris
'test double clic 6/10 seconde
If Timer - timsouris < .6 Then
If ysouris - msqv = NUMREPOsouris Then
If xsouris > BORDTABGAUCHE And xsouris < BORDTABDROIT And ysouris > BORDTABHAUT And ysouris < BORDTABBAS Then
OKDBLCLICK = 1
End If
End If
End If
timsouris = Timer: NUMREPOsouris = ysouris - msqv:
End If
End If
If _MouseWheel Then wheel = _MouseWheel: human = 3: clicko = 1
loopy: End If:
If human = 0 Then GoTo Souriskey2
Return
'----------------------------------------
Why not yes ?