The following test having wizard tabs runs as expected as a desktop app but shows different results as an AnyScreen app. Code is as follows:
PROGRAM
MAP
AnyTabProc PROCEDURE
END
INCLUDE('AnyScreen.inc')
INCLUDE('KeyCodes.clw')
CODE
AnyTabProc
AnyTabProc PROCEDURE
L:Choice LONG
WizardWindow WINDOW('Wizard Window'),AT(,,252,150),CENTER,GRAY,FONT('Tahoma',10)
BOX,AT(1,1,250,108),USE(?BOX),COLOR(COLOR:Black),LINEWIDTH(1)
SHEET,AT(1,110,250,12),USE(?SHEET:Wizard),SPREAD,NOSHEET,BELOW,IMM
TAB('1'),USE(?TAB:1)
END
TAB('2'),USE(?TAB:2)
END
TAB('3'),USE(?TAB:3)
END
TAB('4'),USE(?TAB:4)
END
END
PROMPT('Tab Choice:'),AT(10,24),USE(?PROMPT:Choice)
ENTRY(@n2),AT(50,24,,10),USE(L:Choice),FLAT
BUTTON('&Back'),AT(1,127,60,20),USE(?BTN:Back),DEFAULT,IMM,LEFT
BUTTON('&Next'),AT(62,127,60,20),USE(?BTN:Next),IMM,LEFT
BUTTON('&OK'),AT(130,127,60,20),USE(?BTN:Ok),LEFT
BUTTON('&Cancel'),AT(191,127,60,20),USE(?BTN:Cancel),LEFT
END
CODE
AnyScreen:Init()
OPEN(WizardWindow)
?SHEET:Wizard{PROP:Wizard} = True
DO SetControlProperties
ACCEPT
CASE EVENT()
OF EVENT:Accepted
CASE ACCEPTED()
OF ?BTN:Ok OROF ?BTN:Cancel
BREAK
OF ?BTN:Next
IF CHOICE(?SHEET:Wizard) < ?SHEET:Wizard{PROP:NumTabs}
SELECT(?SHEET:Wizard{PROP:Child,CHOICE(?SHEET:Wizard)+1})
END
OF ?BTN:Back
IF CHOICE(?SHEET:Wizard) > 1
SELECT(?SHEET:Wizard{PROP:Child,CHOICE(?SHEET:Wizard)-1})
END
END
END
DO SetControlProperties
END
CLOSE(WizardWindow)
AnyScreen:Kill()
RETURN
SetControlProperties ROUTINE
L:Choice = CHOICE(?SHEET:Wizard)
?BTN:Next{PROP:Disable} = CHOOSE(CHOICE(?SHEET:Wizard)=? SHEET:Wizard{PROP:NumTabs})
?BTN:Back{PROP:Disable} = CHOOSE(CHOICE(?SHEET:Wizard)=1)
DISPLAY
EXIT