概要 - プルダウン メニューを差し替え、挿入する

ワークスペースを使用して、メニュー バーに表示されるプルダウン メニューをコントロールすることができます。また、プルダウン メニューの差し替えを自動的に行うこともできます(たとえば、ユーザが追加のプルダウン メニューを必要とするアプリケーションをロードしたとき)。

プルダウン メニューを差し替える

プログラムのプルダウン メニューはカスケード型であるため、メニューを差し替える必要はほとんどありません。また、メニューを差し替えると、ユーザ インタフェースの一貫性が損なわれることがあります。しかし、$ コマンドを使用すると、プルダウン メニューやサブメニューを差し替えることができます。メニューを差し替える別の方法として、相対(またはグローバル)参照する方法があります。この方法を使用すると、既存のメニューの前に新しいメニューを挿入してから、既存のメニューを除去できます。

メニューを差し替えるためには、プルダウン メニューを、P1 から P16 という名前で指定します。メニュー バーに表示されるタイトルを変更するには、メニューの行を $Pn= コマンドで置き換えます。特殊コマンド $Pn=* は、どのコマンドの中からでも使用できます。このコマンドを実行して、エイリアス POPn に現在割り当てられているメニューを強制的にプルダウン表示することにより、ポインティング デバイス動作の柔軟性を大幅に改善することができます。

次のマクロの例では、P3 に位置するプルダウン メニューを、MYMENU という名前のカスタマイズ グループにある new3 という名前のメニューに置き換えています。

$P3=mymenu.new3

AutoCAD では、次のように、同じことを AutoLISP の menucmd 関数を使用して行うこともできます。

(menucmd "P3=mymenu.new3")
注: AutoLISP は、AutoCAD LT では使用できません。

マクロ内で特殊コマンド $Pn=* を使用すると、POPn 領域に現在割り当てられているメニューを強制的に表示できます。

注: プルダウン メニューの差し替えは、Microsoft ® のユーザ インタフェースの指針には従っていません。プログラムの将来のリリースでも使用できるとは限りません。

プルダウン メニューを挿入、除去する

メニューの差し替えは、あるメニューを別のメニューから直接アクティブにすることによって行われます。メニューの差し替えは、次のインタフェース要素でサポートされています。

部分メニューを差し替えるための構文は、次のとおりです。

$section=customizationgroup.menuname
section

有効なセクション名は、B1-4、A1-4、P0-16、T1-4

customizationgroup

目的のカスタマイズ(CUIx)ファイル内のカスタマイズ グループ名

menuname

メイン ラベルまたはエイリアス

次の点に注意してください。

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=-")
注: Pn 構文は、AutoLISP の menucmd 関数の構文の一部としてのみ使用してください。マクロ固有の文には $Pn 構文を使用してください。

部分カスタマイズ(CUIx)ファイル全体でツールバーをコントロールする

ツールバーは、通常、ワークスペースを使用して表示します。ただし、-TOOLBAR[ツールバー]コマンドを使用してツールバーを表示することもできます。プロンプト 「ツールバー名を入力 または [すべて(ALL)]:」 に対して、次の構文を使用します。

customizationgroup.toolbaralias

この構文は、customizationgroup.toolbaralias によって識別されるツールバーにアクセスします。

このカスタマイズ グループがない場合は、メイン カスタマイズ(CUIx)ファイルが既定で使用されます。