3ds Max 2008 で導入されたタブ付きの MAXScript エディタ では、ハードコードされた[元に戻す]、[やり直し]、[コピー]、[貼り付け]などの項目に加えて、カスタムのコンテキスト (右クリック) メニュー項目を定義できます。
以下は、エディタ ウィンドウで右クリックしたときに表示される、既定値のコンテキスト メニューです。
カスタムのコンテキスト メニュー項目は、ファイル MXS_Editor.properties に定義します。このファイルは、[ツール]/[グローバル オプション ファイルを開く]メニュー項目から簡単にアクセスできます。すべてのオプションについては、MAXScript エディタ - プロパティ ファイルの設定を参照してください。
定義の開始:
user.context.menu=\
続けて、生成するメニュー項目名およびコマンドを「|」区切りでリストします。
各コマンドを新しい行に配置するには、各行の末尾にバックスラッシュ ¥ を追加します。
例:
user.context.menu=\ Next File |IDM_PREVFILE|\ Prev File|IDM_NEXTFILE|
上記の定義は既定値でグローバル オプション ファイルに記述されています。既定値ではコメント化されており、無効になっています。すべての行からコメント記号 # を削除すれば有効にできます。
コマンドは文字列または数値 ID のどちらかです。エディタの主なコマンドのリスト および エディタのメニュー コマンドのリストを参照してください。
名前 ID と 2000 よりも小さい数値 ID は、SciTE メニュー コマンドです。
空のエントリ | | は、セパレータを定義します。
キーボード ショートカットを除くユーザ定義のコンテキスト メニューへの変更は、即座に有効になり、再起動を必要としません。
エディタの機能[RTF 形式でコピー]のメニュー項目を追加する場合を考えます。この機能は、すでに[編集]メニューに含まれていますが、エディタと外部ワード プロセッサ アプリケーションの間で、フォーマット付きのカラー テキストをより楽にコピーできるよう、マウスでアクセスしやすい場所に配置することにします。
はじめに、セパレータを追加するため、MXS_Editor.properties ファイルのuser.context.menu 定義の最後に | 区切り文字を 2 つ追加し、行末を ¥ にします。
次に、名前 ID のリストで、「IDM_COPYASRTF」 という ID を見つけます。
このコマンドを、「RTF 形式でコピー」というラベルでコンテキスト メニューに追加します。このためには、MXS_Editor.properties ファイルの user.context.menu 定義に追加します。 最終的な定義は以下のようになります。
user.context.menu=\ Next File |IDM_PREVFILE|\ Prev File|IDM_NEXTFILE|\ | |\ Copy As RTF|IDM_COPYASRTF|
[Ctrl]+[S]を押して、MXS_Editor.properties ファイルを保存します。
MAXScript ファイルを開き、数行を選択します。
エディタで右クリックします。新しいセパレータと、新しいメニュー項目が表示されます。
項目[Copy As RTF]を選択すると、選択したテキストがすべてのフォーマットとともにクリップボードにコピーされます。