ワークスペースを使用して、メニュー バーに表示されるプルダウン メニューをコントロールすることができます。また、プルダウン メニューの差し替えを自動的に行うこともできます(たとえば、ユーザが追加のプルダウン メニューを必要とするアプリケーションをロードしたとき)。
プログラムのプルダウン メニューはカスケード型であるため、メニューを差し替える必要はほとんどありません。また、メニューを差し替えると、ユーザ インタフェースの一貫性が損なわれることがあります。しかし、$ コマンドを使用すると、プルダウン メニューやサブメニューを差し替えることができます。メニューを差し替える別の方法として、相対(またはグローバル)参照する方法があります。この方法を使用すると、既存のメニューの前に新しいメニューを挿入してから、既存のメニューを除去できます。
メニューを差し替えるためには、プルダウン メニューを、P1 から P16 という名前で指定します。メニュー バーに表示されるタイトルを変更するには、メニューの行を $Pn= コマンドで置き換えます。特殊コマンド $Pn=* は、どのコマンドの中からでも使用できます。このコマンドを実行して、エイリアス POPn に現在割り当てられているメニューを強制的にプルダウン表示することにより、ポインティング デバイス動作の柔軟性を大幅に改善することができます。
次のマクロの例では、P3 に位置するプルダウン メニューを、MYMENU という名前のカスタマイズ グループにある new3 という名前のメニューに置き換えています。
$P3=mymenu.new3
AutoCAD では、次のように、同じことを AutoLISP の menucmd 関数を使用して行うこともできます。
(menucmd "P3=mymenu.new3")
マクロ内で特殊コマンド $Pn=* を使用すると、POPn 領域に現在割り当てられているメニューを強制的に表示できます。
メニューの差し替えは、あるメニューを別のメニューから直接アクティブにすることによって行われます。メニューの差し替えは、次のインタフェース要素でサポートされています。
部分メニューを差し替えるための構文は、次のとおりです。
$section=customizationgroup.menuname
有効なセクション名は、B1-4、A1-4、P0-16、T1-4
目的のカスタマイズ(CUIx)ファイル内のカスタマイズ グループ名
メイン ラベルまたはエイリアス
次の点に注意してください。
AutoLISP の menucmd 関数(AutoCAD LT では使用できません)を使用して、プルダウン メニューを挿入したり除去することができます。その構文は、プルダウン メニューを追加メニューと差し替えるときに使用される構文に似ています。ただし、構文の左側には現在表示されているプルダウン メニューを指定します。そのメニューの前に新しいメニューが挿入されます。構文の右側には、次の構文に示すように、プラス記号(+)で始まり、その後にカスタマイズ グループ名、ピリオドとそのメニューのエイリアスが続きます。
(menucmd "Gcustomizationgroup1.menuname1=+Gcustomizationgroup2.menuname2")
Pn= 構文を使用して、メニューを挿入することもできます。次のマクロは、P5 メニューの後ろにメニューを挿入します。
$P5=+Gmymenu.new3
同じマクロを、次の構文を使用して AutoLISP で実装することができます。
(menucmd "P5=+Gmymenu.new3")
この方法でメニューを挿入すると、メニューが指定どおり P6 の位置に挿入されない場合があるので注意してください。次の 2 つの場合にこのようになることがあります。
次に、メニューを除去するための構文を示します。
Gcustomizationgroup.menuname=-
AutoLISP を使用して、メニューを除去する場合は、以下の構文を使用します。
(menucmd "Gcustomizationgroup.menuname=-")
次に、MyMenu グループのメンバーであるメニュー NEW3 を除去する方法を示します。
$Gmymenu.new3=-"
前述の例は、AutoLISP では次のようになります。
(menucmd "Gmymenu.new3=-")
上記の形式は Pn= 形式より望ましいといえます。なぜなら、Pn= 形式は特定の位置のメニューを除去するだけだからです。次に、P4 の位置のメニューを、それが何であっても除去する方法を示します。
$P4=-
前述の例は、AutoLISP では次のようになります。
(menucmd "P4=-")
ツールバーは、通常、ワークスペースを使用して表示します。ただし、-TOOLBAR[ツールバー]コマンドを使用してツールバーを表示することもできます。プロンプト 「ツールバー名を入力 または [すべて(ALL)]:」 に対して、次の構文を使用します。
customizationgroup.toolbaralias
この構文は、customizationgroup.toolbaralias によって識別されるツールバーにアクセスします。
このカスタマイズ グループがない場合は、メイン カスタマイズ(CUIx)ファイルが既定で使用されます。