第20回 パスの入力欄やファイルリストのメニューの追加など
公開日:2018-12-07 更新日:2019-05-14
[メモ帳作成講座]
1. 内容
1. PluginLoader による起動処理の変更
起動時のプラグイン生成時に、dock と 受け取る親のプラグインを、plugin_list.ini で指定できるようにしました。
これにより、画面左上のファイルツリーの上に、パス入力欄を配置しています。
また、スプリットコンテナーはパネルを2枚持つため、そのまま dock を指定できません。
スプリットコンテナーのためだけに plugin_list.ini にパラメーターを増やすと指定が複雑になるため、
一度空のパネルをスプリットコンテナーに配置して、そこにパス入力欄とファイルツリーを配置するようにしました。
これにより、画面左上のファイルツリーの上に、パス入力欄を配置しています。
また、スプリットコンテナーはパネルを2枚持つため、そのまま dock を指定できません。
スプリットコンテナーのためだけに plugin_list.ini にパラメーターを増やすと指定が複雑になるため、
一度空のパネルをスプリットコンテナーに配置して、そこにパス入力欄とファイルツリーを配置するようにしました。
2. PathField プラグインの追加
パス入力欄の PathField プラグインを追加しました。
ファイルツリーでフォルダが選択された場合、フォルダ選択イベントを発生させて、
それをファイルリストが受け取って、ファイルリストを更新していますが、
パス入力欄のプラグインでも同様にイベントを受け取って、パスを更新しています。
また、パス入力欄のパスが変更された場合には、パス入力欄からフォルダ選択イベントを発生させて、
ファイルリストを更新するようにしています。
ファイルツリーでフォルダが選択された場合、フォルダ選択イベントを発生させて、
それをファイルリストが受け取って、ファイルリストを更新していますが、
パス入力欄のプラグインでも同様にイベントを受け取って、パスを更新しています。
また、パス入力欄のパスが変更された場合には、パス入力欄からフォルダ選択イベントを発生させて、
ファイルリストを更新するようにしています。
3. プラグイン用のプロパティファイルの追加
各プラグインの data フォルダ配下のプロパティファイル(property.ini)を使用して、フォームの位置やスプリッターのバーの位置を保存できるように変更しました。
プロパティファイルは、各プラグインの Initialize() で読み込み、 ClosePlugin() で保存しています。
プロパティファイルは、各プラグインの Initialize() で読み込み、 ClosePlugin() で保存しています。
4. ファイルリストの変更
1. ファイル名、拡張子、更新日時を変更できるようにしました。これに伴い、行選択からセル選択に変更しました。
注意:エクスプローラーを開いていると、変更できない場合があります。
2. 文字コード指定や、バイナリーモードで開くためのメニューを追加しました。
3. ファイルとフォルダを新規作成するメニューを追加しました。
4. ファイルサイズに、GB、MBなどの単位を表示するようにしました。
注意:エクスプローラーを開いていると、変更できない場合があります。
2. 文字コード指定や、バイナリーモードで開くためのメニューを追加しました。
3. ファイルとフォルダを新規作成するメニューを追加しました。
4. ファイルサイズに、GB、MBなどの単位を表示するようにしました。
2. 動画
3. 画面
4. 今後の課題
ツールバー、メニューのプラグイン化
現在のEXEからプラグインやUtilsなどをDLLへ移す
ファイルリストにコピペでクリックボードの内容をファイル出力
お気に入りファイルツリープラグインの追加
画像ビューアープラグインの追加
見出しリストの表示、
左側の余白の不具合対応、
grep機能の追加、
プラグインでテキストの加工を行えるようにする、
プラグインでカレンダーをつけて日記をつけられるようにする、などなど。
現在のEXEからプラグインやUtilsなどをDLLへ移す
ファイルリストにコピペでクリックボードの内容をファイル出力
お気に入りファイルツリープラグインの追加
画像ビューアープラグインの追加
見出しリストの表示、
左側の余白の不具合対応、
grep機能の追加、
プラグインでテキストの加工を行えるようにする、
プラグインでカレンダーをつけて日記をつけられるようにする、などなど。
ダウンロード
ver | 実行ファイル | ソース |
---|---|---|
1.1.6 2018/12/07 | ncm_1_1_6.zip | ncm_1_1_6_src.zip |