關於參考下拉功能表或快顯功能表

使用類似於啟用次功能表所使用的方式,您可以啟用或停用其他下拉式功能表或快顯功能表。這稱為功能表參考

可使用兩種不同方式參考下拉式功能表或快顯功能表:相對絕對。絕對參考使用功能表階層中功能表項目的絕對位置。相對參考使用自定群組名稱和元素 ID。因為相對參考為動態,建議您使用相對參考,但在 AutoCAD LT 中無法使用。

絕對參考

除了參考功能表項目以外,您還可以使用以下語法啟用或停用功能表項目:

$Pn.i=xxx

$ 載入功能表部份;Pn 可指定作用中的功能表部份 (有效值為 0 到 16); i 可指定功能表項目號碼;而 xxx (如果有) 可指定灰顯或標記的字元的字串。

以下範例使用 $Pn=xxx 語法,在別名為 POP7 之功能表上的項目 1 加入勾選標記。

$P7.1=!.

下列範例在 AutoCAD 中使用 AutoLISP 的 menucmd 函數來參考下拉式功能表項目或快顯功能表項目。由於自訂檔是動態的 (透過載入局部 CUIx 檔),因此以下語法並不能適用於所有情況。

(menucmd "P1.2=~")

此語法依賴功能表項目標位置,而且,如果透過 CUILOAD 指令,在 POP1 之前插入一個新項目,此語法就無法工作。

功能表項目編號是連續的,無論功能表的階層為何。

使用下列格式,可讓您輕鬆尋址項目,而無論它在功能表階層中的位置為何:

$P@.@=xxx

參考目前或最近選擇的指令。

$P@.n=xxx

參考目前或最近選擇之功能表中的項目 n

相對參考 (無法在 AutoCAD LT 中使用)

您可以使用 AutoLISP menucmd 函數,根據自訂群組與元素 ID,參考下拉式功能表或快顯功能表項目。以下語法基於功能表項目的元素 ID 來參考功能表項目。

(menucmd "Gcustomizationgroup.element_id=value")

以下範例使用相對參考語法來停用儲存在 ACAD 自訂群組中的 ID_Line 功能表項目。無論功能表項目在功能表中處於什麼位置,它都適用。

(menucmd "GACAD.ID_Line=~")

如果您知道主自訂 (CUIx) 檔中所包含的內容,便可建立包含參考主 CUIx 檔案的其他功能表項目的局部自訂 (CUIx) 檔。這樣,局部 CUIx 檔就可以與特定的基本自訂檔配合使用。

AutoLISP 存取標示狀態 (在 AutoCAD LT 中不可用)

AutoLISP menucmd 函數可接受 $Pn=xxx 指令字串,但不能有前導 $。在這些函數中,指令字串的 xxx 部份可以帶有特殊值。

Pn.i=?

以字串形式傳回指定項目的目前已停用和已標記的狀態 (例如,~ 表示已停用的項目、!. 表示具有勾選標記的項目、"" 表示既未灰顯又未標記的項目)。

Pn.i=#?

傳回與描述 Pn.i=? 時使用的字串類型相同的字串,但是具有 Pn.i= 字首。這種類型的字串與 @ 格式連用時非常有用,因為這樣會返回實際的功能表與項目號碼。

例如,如果停用 POP6 節中的第五個項目,後面的 menucmd 碼會返回下列字串值。

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