Pomocí podobného postupu, jakým se aktivují podnabídky, můžete aktivovat nebo deaktivovat jinou rozevírací nebo místní nabídku. Toto se nazývá odkazování nabídky.
Rozevírací nebo místní nabídky lze odkazovat dvěma různými způsoby – relativní a absolutní. Absolutní odkaz používá absolutní polohu položky nabídky v hierarchii nabídek. Relativní odkaz používá skupinu uživatelských úprav a ID prvku. Vzhledem k jeho dynamické povaze je doporučované relativní odkazování, které však není k dispozici v aplikaci AutoCAD LT.
Kromě vytvoření odkazu na položku nabídky můžete pomocí následující syntaxe aktivovat nebo deaktivovat položku nabídky:
$Pn.i=xxx
Prvek $ načte sekci nabídky; prvek Pn určuje aktivní sekci nabídky (platné hodnoty jsou 0 až 16); prvek i určuje číslo položky nabídky a prvek xxx (pokud je zadán) určuje řetězec zašednutých nebo označených znaků.
Následující příklad přidá pomocí syntaxe $Pn=xxx zatržítko k položce 1 v nabídce se zkratkou POP7.
$P7.1=!.
V následujícím příkladu je v aplikaci AutoCAD použit k vytvoření odkazu na položku rozevírací nebo místní nabídky příkaz menucmd jazyka AutoLISP. Vzhledem k dynamické povaze souborů uživatelských úprav (z důvodu načítání částečných souborů CUIx) nebude následující syntaxe ve všech případech fungovat.
(menucmd "P1.2=~")
Tato syntaxe spoléhá na umístění položky nabídky a nefunguje, pokud je před sekci POP1 pomocí příkazu NAČTICUI vložena nová položka.
Číslování položek nabídky je postupné bez ohledu na hierarchii nabídky.
Pokud chcete snadno odkazovat na položku bez ohledu na její umístění v hierarchii nabídky, můžete použít následující formy:
Odkazuje na aktuální nebo poslední vybraný příkaz.
Odkazuje na položku n v aktuální nebo naposledy vybrané nabídce.
Můžete vytvořit odkaz na položku rozevírací nebo místní nabídky na základě její skupiny uživatelských úprav a ID prvku pomocí funkce menucmd jazyka AutoLISP. Následující syntaxe vytvoří odkaz na položku nabídky na základě jejího ID prvku.
(menucmd "Gcustomizationgroup.element_id=value")
Následující příklad používá syntaxi relativního odkazu k deaktivaci položky nabídky ID_Line, která je uložena ve skupině uživatelských úprav ACAD. Tento příklad pracuje bez ohledu na umístění položky v nabídce.
(menucmd "GACAD.ID_Line=~")
Pokud znáte obsah hlavního souboru uživatelských úprav (CUIx), můžete vytvořit částečný soubor uživatelských úprav (CUIx) s další položkou nabídky, která odkazuje na hlavní soubor CUIx. Tímto způsobem mohou pracovat částečné soubory CUIx společně s určitými základními soubory.
Do funkce menucmd jazyka AutoLISP lze zadat řetězce příkazu $Pn=xxx, ale bez úvodního znaku $. U těchto funkcí může prvek xxx příkazu nabývat speciálních hodnot.
Vrátí aktuální deaktivovaný nebo označený stav určené položky jako řetězec (například ~ pro deaktivovanou položku, !. pro položku označenou zatržítkem a "" pro položku, která není ani zašednutá, ani označená).
Vrátí stejný typ řetězce, jaký je popsán u syntaxe Pn.i=?, ale s předponou Pn.i=. To je užitečné ve spojení s formami @, protože je vráceno skutečné číslo nabídky a položky.
Pokud je například pátá položka v sekci POP6 deaktivována, vrátí následující kód menucmd tyto řetězcové hodnoty.
(menucmd "P6.5=?") returns "~" (menucmd "P6.5=#?") returns "P6.5=~"