V7で任意のポップアップメニューを作成し表示させる

EmEditor FAN ! / V7で任意のポップアップメニューを作成し表示させる

拙作ポップアップメニューが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その他の小技


inserted by FC2 system