功能表列上會顯示工作區可用於控制哪些下拉式功能表。您也可以程式化置換一個下拉式功能表 (例如,當使用者載入需要其他下拉式功能表的應用程式時)。
因為該程式具有階層下拉式功能表,所以幾乎不需要置換功能表。另外,置換功能表也會減損使用者介面的一致性。不過,使用 $ 指令,您可以置換下拉式功能表及子功能表。功能表置換的另一種方式涉及相對 (或整體) 參考。使用此方式,您可以在已知的功能表前插入新功能表,然後再移除該已知功能表。
為進行功能表置換作業,可以使用 P1 到 P16 來命名下拉式功能表。透過使用 $Pn= 指令取代功能表中顯示標題的行,來變更功能表列上顯示的標題。您可以從任一指令內使用特殊指令 $Pn=*,以強制下拉目前指定給別名 POPn 的功能表,以便指向設備的移動具有更大的靈活性。
以下巨集範例會將 P3 的下拉式功能表取代為自訂群組 MYMENU 中命名為 new3 的功能表。
$P3=mymenu.new3
使用 AutoLISP 的 menucmd 函數亦可做到這一點,如下所示:
(menucmd "P3=mymenu.new3")
您可以從任意巨集內使用 $Pn=* 特殊指令,以強制顯示目前指定給區域 POPn 的功能表。
功能表置換透過直接從其他功能表中啟用一個功能表來完成。下列介面元素支援功能表置換:
置換局部功能表的語法如下所示:
$section=customizationgroup.menuname
有效區段名稱為 B1-4、A1-4、P0-16、T1-4
所需自訂 (CUIx) 檔中的自訂群組名稱
主標示或別名
請注意以下事項:
您可以使用 AutoLISP menucmd 函數插入或移除下拉式功能表。語法類似於置換下拉式功能表時使用的語法,但指定的左側是要在其前面插入新功能表的下拉式功能表。指定的右側是一個加號 (+),後面接續自訂群組名稱、句點,以及功能表別名,如以下語法所示:
(menucmd "Gcustomizationgroup1.menuname1=+Gcustomizationgroup2.menuname2")
您也可以使用語法 Pn= 插入功能表。以下巨集會在 P5 功能表後插入功能表:
$P5=+Gmymenu.new3
您可以使用以下作業,透過 AutoLISP 實施相同的巨集:
(menucmd "P5=+Gmymenu.new3")
如果使用此方式來插入功能表,請記住您無法完全確定它插入的位置就是您所預期的 P6 功能表位置。造成此情形的原因有兩個。
用於移除功能表的語法如下:
Gcustomizationgroup.menuname=-
透過 AutoLISP 移除功能表會使用以下語法:
(menucmd "Gcustomizationgroup.menuname=-")
以下示範如何移除 MyMenu 群組的成員 NEW3 功能表。
$Gmymenu.new3=-"
先前的範例看起來就像 AutoLISP 中的以下語法:
(menucmd "Gmymenu.new3=-")
正如您可能預期的,前面的格式比 Pn= 格式更可取,因為它只會移除指定的功能表。以下示範如何移除 P4 位置處的功能表 (不論它是什麼功能表)。
$P4=-
先前的範例看起來就像 AutoLISP 中的以下語法:
(menucmd "P4=-")
通常會使用工作區顯示工具列。但是,您可以使用 -TOOLBAR 指令顯示工具列。使用以下語法 輸入工具列名稱或 [ALL]: 提示。
customizationgroup.toolbaralias
此語法可存取 customizationgroup.toolbaralias 所識別的工具列。
如果缺少自訂群組,則程式會預設為主自訂 (CUIx) 檔。