Voici la structure generale d une procedure de menu :
X> Procedure ITEM If DREG(2) X=DREG(0) : Y=DREG(1) les instructions de dessin vont ici Endif DREG(0)=BX : Rem coordonnee x du coin inferieur droit de l element de menu DREG(1)=BY : Rem coordonnee y du coin inferieur droit de l element de menu Endproc
Les dimensions de l element de menu tel qu il est affiche a l ecran sont definies a l aide des coordonnees BX et BY. Ces valeurs doivent etre chargees dans les registres DREG(0) et DREG(1) avant de quitter la procedure car elles sont necessaires pour creer la barre de menu finale.
A l interieur de votre procedure, la plupart des instructions AMOS Professional peuvent etre utilisees, y compris d autres procedures. Cependant, les regles suivantes doivent etre respectees afin d eviter un plantage de votre Amiga :
RESERVE
commande integree : reserver une zone de donnees locale pour une procedure
REserve nombre d octets
REserve alloue le nombre d octets de memoire choisi pour un element de menu. Cette zone peut ensuite etre utilisee dans votre procedure de menu a l aide de l adresse contenue dans AREG(1). La zone de donnees reservee de cette maniere est prevue pour le stockage de variables. Elle est locale a l element de menu qui appelle la procedure.
Reaffichage automatique des menus
Les deux dernieres commandes de ce chapitre affectent le processus automatique qui reaffiche le menu selectionne 50 fois par seconde.
MENU CALLED
instruction : reafficher un element de menu en continu
Menu Called(parametres d un element unique)
MENU CALLED active le processus automatique de reaffichage. Cette commande est generalement utilisee avec une procedure de menu pour generer des elements de menu animes, souvent avec des effets graphiques spectaculaires.