EmEditor FAN ! / V7で任意のポップアップメニューを作成し表示させる>
これまで拙作のマクロ/プラグインにて、EmEditorに登録された、マクロ、プラグイン、外部ツール、最近開いたファイルなどをポップアップメニューで選択できるものを幾つか提供してきました。
しかし、残念なことに、V7のアップデートに伴い、幾つか使えなくなるものも出てきました。
とはいっても、不便なことは実は全くありません。これらの機能はV7 Professionalではプラグインや複雑なマクロを使わなくても実現できるからです。
V7ではメニューの「ツール(T)→メニューの変更(M)」にユーザーメニュー(1)〜(8)という項目が追加されています。これは元々、2ストロークキー入力をサポートするためにV7にて追加されたものです。しかし、このユーザーメニューは遅延時間を0に設定することでごく普通のポップアップメニューとして使うことが出来ます。ここには、各種コマンドに加えて、最近のファイル、フォント、エンコード、マクロ、プラグイン、外部ツール、現在開いているウィンドウなど、複数の選択肢を持つメニューを設定することが出来ます。
設定のプロパティダイアログの「ショートカット」タブの分類「ツール」にユーザーメニュー(1)〜(8)という項目があり、ここで任意のショートカットを割り当てることが可能です。
plugin.hによると、
#define EEID_USER_MENU1 4429 #define EEID_USER_MENU2 4430 #define EEID_USER_MENU3 4431 #define EEID_USER_MENU4 4432 #define EEID_USER_MENU5 4433 #define EEID_USER_MENU6 4434 #define EEID_USER_MENU7 4435 #define EEID_USER_MENU8 4436となっていますので、これがユーザーメニュー(1)〜(8)のコマンドIDになります。例えばユーザーメニュー(1)をJavaScriptマクロで実行するには、
editor.ExecuteCommandByID(4429);//EEID_USER_MENU1とします。V7以降、マクロはツールバーのボタンとして登録が可能です。#title指示子、#icon指示子でボタンのラベル、アイコンを変更することもできます。
EmEditor FAN ! / EmEditorその他の小技