Pracovními prostory lze určovat, které rozevírací nabídky se zobrazí na panelu nabídek. Rozevírací nabídky lze však přepínat také programově (například pokud uživatel načte aplikaci, která vyžaduje další rozevírací nabídku).
Vzhledem k tomu, že program má kaskádovité rozevírací nabídky, není přepínání nabídek téměř potřeba. Přepínání nabídek také může omezit jednotnost uživatelského rozhraní. Pomocí příkazů $ však můžete zaměnit rozevírací nabídky a podnabídky. Alternativou k přepínání nabídek jsou relativní (nebo globální) odkazy. Pomocí této metody můžete vložit novou nabídku před známou nabídku a poté odstranit známou nabídku.
Pro účely výměny nabídek jsou rozevírací nabídky pojmenovány P1 až P16. Název, který je zobrazen v pruhu nabídek, je možné změnit nahrazením tohoto řádku nabídky pomocí příkazu $Pn=. Pomocí speciálního příkazu $Pn=* spuštěného z libovolného příkazu můžete vynutit rozevření nabídky aktuálně přiřazené k aliasu POPn a zajistit tak větší flexibilitu pohybu ukazovacího zařízení.
Následující ukázkové makro nahradí rozevírací nabídku na pozici P3 nabídkou s názvem new3 ve skupině uživatelských úprav s názvem MYMENU.
$P3=mymenu.new3
Stejnou věc je možné provést pomocí funkce jazyka AutoLISP menucmd a to následovně:
(menucmd "P3=mymenu.new3")
Pomocí speciálního příkazu $Pn=* vyvolaného z libovolného makra můžete vynutit zobrazení nabídky aktuálně přiřazené k oblasti POPn.
Výměna nabídek je prováděna aktivací jedné nabídky přímo z jiné nabídky. Přepínání nabídek je podporováno pro následující prvky uživatelského rozhraní:
Syntaxe pro výměny částečných nabídek je následující:
$section=customizationgroup.menuname
Platné názvy sekcí jsou B1-4, A1-4, P0-16, T1-4
Název skupiny uživatelských úprav v požadovaném souboru uživatelských úprav (CUIx)
Hlavní popisek nebo alias
Mějte na paměti tyto zásady:
Pomocí funkce jazyka AutoLISP menucmd je možné vložit nebo odebrat rozevírací nabídky. Syntaxe je podobná syntaxi pro výměnu nabídek s tím rozdílem, že na levé straně přiřazení je rozevírací nabídka, před kterou bude nová nabídka vložena. Na pravé straně přiřazení je znaménko plus (+) následované názvem skupiny uživatelských úprav, tečkou a aliasem nabídky, jak je znázorněno v následující syntaxi:
(menucmd "Gcustomizationgroup1.menuname1=+Gcustomizationgroup2.menuname2")
Nabídku můžete vložit také pomocí syntaxe Pn=. Pomocí následujícího makra je vložena nabídka za nabídku P5:
$P5=+Gmymenu.new3
Stejné makro je možné implementovat do jazyka AutoLISP následujícím způsobem:
(menucmd "P5=+Gmymenu.new3")
Pokud k vložení nabídky použijete tuto metodu, není možné se spoléhat na to, že bude vložena na pozici nabídky P6, jak byste mohli očekávat. Existují dva případy, kdy k tomu možná nedojde.
Syntaxe pro odstranění nabídky vypadá následovně:
Gcustomizationgroup.menuname=-
Odstranění nabídky pomocí jazyka AutoLISP by vypadalo následovně:
(menucmd "Gcustomizationgroup.menuname=-")
Následující příklad ukazuje odebrání nabídky NEW3, která je členem skupiny MyMenu.
$Gmymenu.new3=-"
V jazyce AutoLISP by předchozí příklad vypadal takto:
(menucmd "Gmymenu.new3=-")
Podle očekávání je předcházející formát upřednostňován před formátem Pn=, protože odstraní pouze určenou nabídku. Následující příklad ukazuje odebrání nabídky v umístění P4 (ať už je jakákoli).
$P4=-
V jazyce AutoLISP by předchozí příklad vypadal takto:
(menucmd "P4=-")
Panely nástrojů se běžně zobrazují pomocí pracovních prostorů. Můžete je však zobrazit příkazem -NPANEL. Použijte následující syntaxi pro výzvu Zadejte název panelu nástrojů nebo [VŠE]: výzva.
customizationgroup.toolbaralias
Tato syntaxe získá přístup k panelu nástrojů identifikovaný takto: customizationgroup.toolbaralias.
Pokud je skupina uživatelských úprav vynechána, program použije výchozí hlavní soubor uživatelských úprav (CUIx).