第21回 メニューのプラグイン化など

公開日:2018-12-19

1. 内容

1. メニューとツールバーのプラグイン化

メインフォームにあったメニューとツールバーを全てプラグイン化しました。
これにより、新しいメニューを、メインフォームの変更をせずに追加できるようになります。
メニューごとにクラスが分かれるため、ソースの可読性も向上します。

また、開くメニュークリック時に、ファイルを開くダイアログを表示する必要があるため、
メインフォームにあったダイアログを、プラグイン化しました。
これにより、どのプラグインからも、ダイアログを表示できるようになります。

2. 検索フォームをプラグイン化

検索メニューのプラグイン化にあわせて、検索フォームもプラグイン化しました。
これにより、メインフォームを通さずに、メニューから検索フォームを表示できるようになります。

3. プラグイン割り当て処理の変更

プラグイン生成時に、割当先が決まっている場合でも、PluginCreated イベントを発生させるようにしました。
前回は指定された親プラグインに強制的に子プラグインを割り当てていましたが、
今回から、親が指定されている場合でも PluginCreated イベントを発生させて、
プラグインの受け取り判定や、コンポーネントの配置場所の決定を、親プラグイン側で制御できるようにしました。
これにより、メニューやグリッドの列などにも、コンポーネントを割り当てることができるようになります。

4. テキストエディターの上下分割

テキストエディターのポップアップメニューで、テキストエディターを上下に分割できるようにしました。
上側は参照用で、編集は下側でのみ行えます。

5. テキストエディターに見出しリストの追加

テキストエディターのポップアップメニューで、見出しリストを表示できるようにしました。
テキストの行の先頭に「▼」「■」「□」を置くと、見出しとして認識され、見出しリストに表示されます。
見出しをクリックすると、その見出しがある部分までスクロールします。

また、見出し用の記号は、property.ini で変更することができます。

6. クリップボードの内容のファイル出力

クリップボードに画像がある時に、ファイルリストで貼り付けを行うと、クリップボードの画像をファイル出力します。
日時を含んだファイル名が付与されるため、コピペの要領で連続してファイル出力をすることができます。

また、クリップボードに文字列がある時は、テキストファイルとして出力します。

2. 動画


3. 画面






4. 今後の課題

画像ビューアープラグインの追加
grep機能の追加
ファイルリストにファイルの評価機能の追加
現在のEXEからプラグインやUtilsなどをDLLへ移す
お気に入りファイルツリープラグインの追加
左側の余白の不具合対応、
プラグインでテキストの加工を行えるようにする、
プラグインでカレンダーをつけて日記をつけられるようにする、などなど。

ダウンロード

ver実行ファイルソース
1.1.7
2018/12/19
ncm_1_1_7.zipncm_1_1_7_src.zip