RosettaCodeData/Task/GUI-enabling-disabling-of-controls/BBC-BASIC/gui-enabling-disabling-of-controls.basic
2023-07-01 13:44:08 -04:00

37 lines
1.2 KiB
Text

INSTALL @lib$+"WINLIB2"
INSTALL @lib$+"WINLIB5"
ES_NUMBER = 8192
form% = FN_newdialog("Rosetta Code", 100, 100, 100, 52, 8, 1000)
idInc% = FN_setproc(PROCinc)
idDec% = FN_setproc(PROCdec)
PROC_static(form%, "Value:", 100, 10, 10, 24, 14, 0)
PROC_editbox(form%, "0", 101, 40, 8, 52, 14, ES_NUMBER)
PROC_pushbutton(form%, "Increment", idInc%, 7, 30, 40, 16, 0)
PROC_pushbutton(form%, "Decrement", idDec%, 52, 30, 40, 16, 0)
PROC_showdialog(form%)
REPEAT
WAIT 1
SYS "GetDlgItemInt", !form%, 101, 0, 1 TO number%
SYS "GetDlgItem", !form%, 101 TO hedit%
SYS "EnableWindow", hedit%, number% = 0
SYS "GetDlgItem", !form%, idInc% TO hinc%
SYS "EnableWindow", hinc%, number% < 10
SYS "GetDlgItem", !form%, idDec% TO hdec%
SYS "EnableWindow", hdec%, number% > 0
UNTIL !form% = 0
QUIT
DEF PROCinc
LOCAL number%
SYS "GetDlgItemInt", !form%, 101, 0, 1 TO number%
SYS "SetDlgItemInt", !form%, 101, number% + 1, 1
ENDPROC
DEF PROCdec
LOCAL number%
SYS "GetDlgItemInt", !form%, 101, 0, 1 TO number%
SYS "SetDlgItemInt", !form%, 101, number% - 1, 1
ENDPROC