これまで同期されたTreeVirew、RichTextBoxを作成してきました。こんなものを作ってどうするの?と思われた方もいるかもしれませんが、作ってみたいアプリがあったのです。

文書のアウトライン構造(全体の構造)を定めてから、細部を編集していくために用いられる文書作成ソフトウェアとしてアウトラインプロセッサがあります。私がよく使っているのがKIEです。

Vectorからダウンロード可能です。
kie(Knowledge Index Editor) テキストベースのアウトラインプロセッサ

残念ながら現在開発はされていないようです。以前は作者のHPから最新版をダウンロードすることができたのですが、現在HPは閉鎖されている模様。

またKIEはテキストにしか対応していません。リッチテキスト対応、画像の埋め込みなどもできるものがほしいと思うのです。もちろん探せばあります。

そのひとつがNanaTreeです。これならリッチテキストにも対応しているし、画像の埋め込みもできます。

Vectorからダウンロード可能です。
NanaTree 印刷、各種出力、書式指定編集が可能なツリー型メモ帳

ただ検索機能はありますが、KIEと比べるとやや劣ります。それからノードを削除するときKIEにはゴミ箱がありました。まちがって削除してもゴミ箱から拾うことができたのですが、NanaTreeではできません。

それからどちらも複数のノードのデータをみながら作業をするということができません。そこで自作することにしたのです。

過去に自作したアプリ。これならふたつのデータを見比べながら編集することが可能です。

ではさっそく作ってみましょう。

まず前回までに作成したSuncRichTextBoxは出力の種類を「クラスライブラリ」に変更。

そして新しいプロジェクトを作成して、「参照の追加」からSyncRichTextBoxとSyncTreeViewを追加します。

デザイナでSplitContainerをドラッグ&ドロップ、OrientationプロパティをHorizontalに設定、それぞれのPanelのなかに新しいSplitContainerをドラッグ&ドロップ、OrientationプロパティをVerticalに設定します。

SyncTreeViewとSyncRichTextBoxを継承したクラス(SyncTreeViewExとSyncRichTextBoxEx)を作成してPanel1にはSyncTreeView、Panel2にはSyncRichTextBoxを設置します。

これで外観は完成です。

では次回からツリービューにアイテムを追加したり、リッチテキストを編集する機能を追加していくことにします。