C’est la possibilité d’avoir un menu déroulant dans vos DSPF avec plusieurs onglets et de choisir une option, exactement comme dans windows.
Ci dessous un exemple avec son programme 2 menus déroulants ici PULLA et PULLB
DSPF
A* Exemple de menu barre
A DSPSIZ(27 132 *DS4)
A MNUCNL(CA12)
A CA03(03 'EXIT')
A R MB MNUBAR
A MNUFLD 2Y 0B 1 2
A MNUBARCHC(1 PULLA +
A '>Pulla')
A MNUBARCHC(2 PULLB +
A '>Pullb')
A MNUBARSEP( +
A (*CHAR '_'))
A
A R RECORD
A*%%TS SD 20231025 122354 PLB REL-V7R4M0 5770-WDS
A MNUBARDSP(MB &MNUCHC &PULL)
A 11 2'Nom :'
A ZONE1 30A B 11 14
A 12 2'Prénom :'
A ZONE2 20A B 12 14
A MNUCHC 2Y 0H
A PULL 2S 0H
A 13 2'Sexe :'
A F1S 2Y 0B 13 14SNGCHCFLD(*AUTOSLT (*NUMCOL 3))
A CHOICE(1 '>Homme ')
A CHOICE(2 '>Femme ')
A CHOICE(3 '>Inconnu')
A 14 2'Langue(s):'
A F1M 2Y 0B 14 14MLTCHCFLD((*NUMCOL 4))
A CHOICE(1 '>Anglais')
A CHCCTL(1 &CHOIX1)
A CHOICE(2 '>Espagnol')
A CHCCTL(2 &CHOIX2)
A CHOICE(3 'Alleman>d')
A CHCCTL(3 &CHOIX3)
A CHOICE(4 '>Italien ')
A CHCCTL(4 &CHOIX4)
A* CHOICE(5 'A>utre ')
A* CHCCTL(5 &CHOIX5)
A CHOIX1 1Y 0H
A CHOIX2 1Y 0H
A CHOIX3 1Y 0H
A CHOIX4 1Y 0H
A* CHOIX5 1Y 0H
A* Bas de page
A F1B 2Y 0B 23 2PSHBTNFLD
A PSHBTNCHC(1 'F3=>Exit' CA03)
A PSHBTNCHC(2 'E>nter')
A 9 3'Renseignements'
A R PULLA PULLDOWN
A F1 2Y 0B 1 02SNGCHCFLD(*AUTOENT)
A CHOICE(1 '>UN ')
A CHCCTL(1 &C1)
A CHOICE(2 '>DEUX')
A CHCCTL(2 &C2)
A CHOICE(3 '>TROIS')
A CHCCTL(3 &C3)
A C1 1Y 0H
A C2 1Y 0H
A C3 1Y 0H
A R PULLB PULLDOWN
A F1 2Y 0B 1 02SNGCHCFLD
A CHOICE(1 '>UN')
A CHCCTL(1 &C21)
A CHOICE(2 '>DEUX')
A CHCCTL(2 &C22)
A CHOICE(3 '>TROIS')
A CHCCTL(3 &C23)
A C21 1Y 0H
A C22 1Y 0H
A C23 1Y 0H
A
RPGLE
**FREE
// exemple de menu barre
Dcl-F MNUBAR WORKSTN ;
CLEAR RECORD ;
DoW *IN03 = '0';
Exfmt RECORD;
If *IN03 = '0';
If PULL > 0;
Select ;
When PULL = 1;
DSPLY 'Un' ;
When PULL = 2;
DSPLY 'Deux' ;
when PULL = 3;
DSPLY 'Trois' ;
Endsl;
// ici traitement des zones du format
EndIf;
EndIf;
EndDo;
*INLR = *On;
Remarque :
Vous devez compiler avec l’option ENHDSP(*YES)
Pour la présentation, cet exemple comporte également
Un bouton poussoir pour les touches de fonctions
un exemple de case a cocher unique
un exemple de case à cocher multiple
Pour commencer c’est un peu compliqué, pour vous aider, vous pouvez utiliser notre générateur téléchargeable ici …
https://github.com/Plberthoin/PLB/tree/master/GENMNUBAR
Génère un menu barre (Source DDS et RPGLE) ci dessus le code RPGLE généré
Vous devez « juste » remplacer les dsply par vos actions …