Információk a legördülő és helyi menükre való hivatkozásról

Az almenük aktiválásának módszerét követve más legördülő vagy helyi menüket is aktiválhat vagy deaktiválhat. Ennek neve menühivatkozás.

A legördülő és a helyi menükre kétféleképp lehet hivatkozni: relatív és abszolút módon. Az abszolút hivatkozás a menüpont abszolút helyét használja a menühierarchiában. A relatív hivatkozás a testreszabási csoport nevét és az elemazonosítót használja. A dinamikus természetük miatt ajánlottak a relatív hivatkozások, de azok az AutoCAD LT programban nem érhetők el.

Abszolút hivatkozás

A menüelemre való hivatkozás mellett aktiválhatja vagy letilthatja bármelyik menüelemet a következő szintaxis használatával:

$Pn.i=xxx

A $ karakter egy menürészt tölt be, a Pn meghatározza az aktív menürészt (az érvényes értékek a 0-tól 16-ig terjedő tartomány elemei), az i megadja a menüelem számát, és az xxx (ha van ilyen) megadja a szürkített vagy megjelölt karakterláncot.

A $Pn=xxx szintaxis használatával a következő példa a POP7 álnévvel rendelkező menü 1-es eleméhez ad egy pipa jelet.

$P7.1=!.

A következő példa az AutoCAD programban a menucmd AutoLISP-függvényt használja egy legördülő vagy helyi menüelemre való hivatkozásához. Mivel a testreszabási fájlok dinamikusak (a részleges CUIx-fájlok betöltése folytán), a következő szintaxis nem fog minden esetben működni.

(menucmd "P1.2=~")

A szintakszis a menüelem helyét veszi alapul, és nem működik, ha egy új elemet illeszt be a POP1 elem elé a CUIBETÖLT parancs segítségével.

A menüelemek sorszámozása a menü hierarchiájától függetlenül folytonos.

Ahhoz, hogy egy elem – függetlenül a menürendszerben elfoglalt helyétől – könnyen hivatkozhasson önmagára, a következőt használhatja:

$P@.@=xxx

Az aktuális vagy legutoljára kiválasztott parancsra hivatkozik.

$P@.n=xxx

Az aktuális vagy legutoljára kiválasztott menü n-edik elemét jelöli.

Relatív hivatkozás (az AutoCAD LT programban nem érhető el)

Egy legördülő vagy helyi menü egy elemére testreszabási csoport és elemazonosító alapján a menucmd AutoLISP-parancs használatával lehet hivatkozni. A következő kifejezés az elemazonosító alapján hivatkozik egy menüelemre.

(menucmd "Gcustomizationgroup.element_id=value")

A következő példa a relatív hivatkozási szintaxist használja az ID_Line menüelem kikapcsolására, amely az ACAD testreszabási csoportban található. Ez attól függetlenül működik, hogy a menüelem hol helyezkedik el a menüben.

(menucmd "GACAD.ID_Line=~")

Ha tudja, mit tartalmaz a fő testreszabási (CUIx) fájl, létrehozhat egy részleges testreszabási (CUIx) fájlt egy további menüelemmel, amely a fő CUIx-fájlra hivatkozik. Ilyen módon a részleges CUIx-fájlok és az adott alap testreszabási fájlok együttműködhetnek.

Menüpontok állapotának elérése AutoLISP környezetből (Az AutoCAD LT programban nem érhető el)

Az AutoLISP menucmd függvénye elfogadja a $Pn=xxx parancs-karakterláncot, de csak a kezdő $ karakter nélkül. Az ilyen parancsok esetében a parancs xxx része speciális értékeket vehet fel.

Pn.i=?

A karakterláncként megadott elem aktuális letiltott vagy megjelölt állapotát adja vissza (például ~ egy letiltott, !. egy pipa jellel megjelölt, "" nem kiszürkített és meg sem jelölt elem).

Pn.i=#?

Ugyanazt a karaktersorozatot adja vissza, mint amelyről a Pn.i=? esetén volt szó, de visszaadja a Pn.i= előtagot is. Ez a @ alakokkal együtt hasznos, mivel a visszatérési érték a tényleges menü- és menüpont-számot adja vissza.

Ha például az ötödik elem a POP6 szakaszban ki van kapcsolva, az alábbi menucmd kód a következő karakterlánc-értékeket adja vissza.

(menucmd "P6.5=?")     returns  "~" 
(menucmd "P6.5=#?")    returns  "P6.5=~"