Les espaces de travail permettent de contrôler les menus déroulants affichés sur la barre de menus. Toutefois, vous pouvez également échanger un menu déroulant contre un autre par programme (par exemple, un utilisateur charge une application qui nécessite un menu déroulant supplémentaire).
Le programme offre des menus déroulants en cascade ; il est donc peu utile d'échanger des menus. De plus, l'échange de menus peut nuire à la cohérence de l'interface utilisateur. Pour échanger des menus déroulants et des sous-menus, utilisez les commandes $. L'échange de menu peut également s'effectuer via le référencement relatif (ou global). Cette méthode vous permet d'insérer le nouveau menu en regard d'un menu existant, puis de supprimer ce dernier.
Pour la fonction d'échange de menus, les menus déroulants sont appelés P1 à P16. Vous pouvez modifier le titre qui apparaît dans la barre de menus en remplaçant cette ligne du menu par une commande $Pn=. Vous pouvez vous servir de la commande spéciale $Pn=* dans n'importe quelle commande pour imposer le déroulement à l'écran du menu attribué à l'alias POPn, ce qui assure une plus grande souplesse dans le déplacement du périphérique de pointage.
La macro suivante remplace un menu déroulant situé à la position P3 par le menu nommé new3 dans le groupe de personnalisation MONMENU.
$P3=mymenu.new3
Vous pouvez réaliser la même opération à l'aide de la fonction AutoLISP menucmd :
(menucmd "P3=mymenu.new3")
Vous pouvez utiliser la commande spéciale $Pn=* dans toute macro pour imposer l'affichage du menu affecté à la zone POPn.
L'échange de menus s'effectue en activant un menu directement à partir d'un autre menu. Cette fonction peut être utilisée dans les éléments d'interface suivantes°:
La syntaxe d'échange de menus partiels est :
$section=customizationgroup.menuname
Les noms de coupe valides sont B1-4, A1-4, P0-16, T1-4.
Nom du groupe de personnalisation du fichier de personnalisation (CUIx) voulu
Libellé principal ou alias
Vous devez tenir compte des points suivants :
Vous pouvez utiliser la fonction AutoLISP menucmd pour insérer ou supprimer un menu déroulant. La syntaxe est similaire à celle utilisée pour échanger des menus déroulants, à la différence que le côté gauche de l'affectation correspond au menu déroulant devant lequel le nouveau menu sera inséré. Le côté droit de l'affectation est composé d'un signe Plus (+), suivi du nom du groupe de personnalisation, d'un point, puis de l'alias de menu, comme le montre la syntaxe suivante :
(menucmd "Gcustomizationgroup1.menuname1=+Gcustomizationgroup2.menuname2")
Vous pouvez également insérer un menu à l'aide de la syntaxe Pn=. La macro suivante insère un menu après le menu P5 :
$P5=+Gmymenu.new3
Cette macro peut être utilisée avec AutoLISP en procédant comme suit :
(menucmd "P5=+Gmymenu.new3")
Si vous utilisez cette méthode pour insérer un menu, celui-ci n'occupera pas forcément l'emplacement de menu P6. Deux raisons expliquent cette éventualité.
La syntaxe permettant de supprimer un menu est la suivante :
Gcustomizationgroup.menuname=-
La syntaxe suivante permet de supprimer un menu avec AutoLISP :
(menucmd "Gcustomizationgroup.menuname=-")
L'exemple suivant montre comment supprimer le menu NOUVEAU3 membre du groupe MonMenu.
$Gmymenu.new3=-"
L'exemple précédent s'apparente à ce qui suit dans AutoLISP :
(menucmd "Gmymenu.new3=-")
Le format précédent s'avère préférable au format Pn=, car il ne supprime que le menu spécifié. L'exemple suivant montre comment supprimer le menu à l'emplacement P4 (quel qu'il soit).
$P4=-
L'exemple précédent s'apparente à ce qui suit dans AutoLISP :
(menucmd "P4=-")
Les barres d'outils sont généralement affichées à l'aide des espaces de travail. Vous pouvez toutefois afficher une barre d'outils à l'aide de la commande -BAROUTIL. Utilisez la syntaxe suivante à l'invite Entrez le nom de la barre d'outils ou [TOUTES] .
customizationgroup.toolbaralias
Cette syntaxe permet d'accéder à la barre d'outils identifiée par customizationgroup.toolbaralias.
Si cette valeur n'est pas précisée, le programme utilise par défaut le fichier de personnalisation (CUIx) principal.