It is really easy to handle that. We provide the algorithm. First of all, the algorithm provided supposes severals hypothesis :
(!U)Example(!u) /* Handle a multiple formular */ void formONGLET( WINDOW *win) { static int show = FORM1; /* formular currently displayed */ int bckgrd[] = {FORM1, FORM2, FORM3 /*, etc ...*/}; /* Describes links between thumb index and * formular */ int res = evnt.buff[4]; switch( res) { /* The multiple formular handling is here */ case INDEX1: case INDEX2: case INDEX3: /* ... */ /* Test if the choice is already displayed */ if( show == bckgrd[res-BUT1]) break; /* Hide the current form */ FORM(win)[show].ob_flags |= HIDETREE; /* Unhide the new form */ FORM(win)[bckgrd[res-BUT1]].ob_flags &= ~HIDETREE; /* keep in memory the form displayed */ show = bckgrd[res-BUT1]; /* this instruction fixes a bug from WinDom */ ((W_FORM*)win->data)->edit = -1; /* Display the new form and the thumb index selected */ ObjcDraw( OC_FORM, wglb.appfront, show, MAX_DEPTH); ObjcDraw( OC_FORM, wglb.appfront, res, 0); break; /* Others objects ... */ case OK: ... } }