Spinner (UpDown) control workaround

Version that alows to change number in editor:

    nomainwin
    WindowWidth = 416
    WindowHeight = 300
    spinX = 140
    spinY = 100
    spinW = 100
    spinH = 25  'probably constant
 
    spinMin = 0
    spinMax = 100
    spinStep = .1
 
    show=rnd(1)*(spinMax-spinMin)+spinMin   'choose any value desired between 0 and 100
    show=val(using("###.#",show)) 'brain dead round to 0.1
 
    textbox #main.textbox1, spinX, spinY, spinW, spinH
    button #main.button2, "", [upshow], UL, spinX+spinW, spinY, spinH, spinH/2
    button #main.button3, "", [downshow], UL, spinX+spinW, spinY+spinH/2, spinH, spinH/2
 
    open "spinnable textbox demonstration" for window_nf as #main
    print #main, "font ms_sans_serif 0 16"
    print #main,"trapclose [quit.main]"
 
    print #main.textbox1,using("###.#",show)
 
[main.inputLoop]   'wait here for input event
    wait
 
[upshow]
    print #main.textbox1, "!contents? oldVal$";
    if val(oldVal$) + spinStep > spinMax then wait
    'else
    show = val(oldVal$) + spinStep
    show$=using("###.#",show)
    print #main.textbox1,show$
    wait
 
[downshow]
    print #main.textbox1, "!contents? oldVal$";
    if val(oldVal$) - spinStep < spinMin then wait
    'else
    show = val(oldVal$) - spinStep
    show$=using("###.#",show)
    print #main.textbox1,show$
    wait
 
[quit.main]
close #main
end

Version that does NOT alow to change number in editor:

This version displays the number next to the controls, but you cannot touch it... at all.
(uses graphicbox instead of editor)
  nomainwin
    WindowWidth = 416
    WindowHeight = 300
    spinX = 140
    spinY = 100
    spinW = 100
    spinH = 25  'probably constant
 
    spinMin = 0
    spinMax = 100
    spinStep = .1
 
    show=rnd(1)*(spinMax-spinMin)+spinMin   'choose any value desired between 0 and 100
    show=val(using("###.#",show)) 'brain dead round to 0.1
 
    'textbox #main.textbox1, spinX, spinY, spinW, spinH
    graphicbox #main.textbox1, spinX, spinY, spinW, spinH
    button #main.button2, "", [upshow], UL, spinX+spinW, spinY, spinH, spinH/2
    button #main.button3, "", [downshow], UL, spinX+spinW, spinY+spinH/2, spinH, spinH/2
 
    open "spinnable textbox demonstration" for window_nf as #main
    print #main, "font ms_sans_serif 0 16"
    print #main,"trapclose [quit.main]"
 
    oldVal$ = using("###.#",show)
    #main.textbox1,"down"
    #main.textbox1,"place 0 0;\ "
    print #main.textbox1, "\";oldVal$
 
[main.inputLoop]   'wait here for input event
    wait
 
[upshow]
'    print #main.textbox1, "!contents? oldVal$";
    if val(oldVal$) + spinStep > spinMax then wait
    'else
    show = val(oldVal$) + spinStep
    show$=using("###.#",show)
    #main.textbox1,"place 0 0;\ "
    print #main.textbox1,"\";show$ 
    oldVal$ = show$ 
    wait
 
[downshow]
'    print #main.textbox1, "!contents? oldVal$";
    if val(oldVal$) - spinStep < spinMin then wait
    'else
    show = val(oldVal$) - spinStep
    show$=using("###.#",show)
    #main.textbox1,"place 0 0;\ "
    print #main.textbox1,"\";show$ 
    oldVal$ = show$ 
    wait
 
[quit.main]
close #main
end