ツリーコントロール(CTreeCtrl)の初期化

STEP1

シングルドキュメントアプリケーションで左側ペインにツリーリストを組み込む

現在作成中である、画面二分割アプリを使い左側ペインにタブキーとツリーコントロールを実際に組み込みシナリオは進行して行きます、その後にサブメニュを組み込みながら右側ペインにコントロールなど色々な機能を追加し実際に色々な操作を行っていきます、皆さんにサンプルとして全面的に公開します。。

私が現在開発中のアプリを使い参考画面にしました、赤い枠内の様に実際に初期から機能を拡張して行きます。

step1

どの様にファイルデータにアクセスするのか?りリストの更新とか色々な管理をどの様に行えば良いのかを実際をお見せいたします、応用して下さい。

此処でデータベースを使うのは使用するユザーを限定してしまいます(一般的にデータベースアプリは無い方が大勢いますので)なのでデータベースは使わずに管理する事をお見せいたします、是非見て盗んで行って下さい。

STEP2

まずはフォームの番号なしのビューにコントロールを1個追加します、このフォームはやはり使う事にしましたなのでフォームビューは全部で5種類有ります。中学生~大学生までの皆さんが見ているのですから注意して説明しなくては行けません、高級言語では出来ない分野が数限りなくあります、皆さんは本当の意味でのプログラマーになって下さい。だって高級言語ばかりが出来る人が増えても何も出来ません(精々出来てもWEB関係だけ、ド素人と言われる分野です)、本来のMFC VC++言語が使える人達が増えなければ日本の将来どうなるの?

追加したツリーの初期化プロパテーの内容です、この様に設定して下さい。

step2

このツリーコントロールのアルゴリズムは難問でした、どうしたら再帰的な構成を構築出来るのかまたどうやれば同一階層の同一名を拒否出来るのかと相当に苦しんだ物ですこのアルゴリズムは今では安定しており100%の構築率になっています、構築する順序はまずフォルダー構造を取得して構築して行きます、次にそのフォルダーのリストを調査して先読みしながらツリーの親を決めながら子を作り込んでいくアルゴリズムです、皆さんに出来るだけ解りやすい様に解説したいと思います、どうか応用して自分のアルゴリズムを作り込んで見るのも素晴らしい事と思います。まずはこのアルゴリズムからお見せして行きます。

STEP3

下記のコードはチョット長いですが指定されたフォルダー内を全て調査記録して帰ります、再帰的な処理を連続して行います、CArray<CString, CString >型へ動的に加算して行きます。変数名は「arrayDirectoryList」と命名しています。

リストボックスは表示はせずに演算用に裏で使います、ツリーコントロールとリストコントロールを2個ついかしましたが1個しか使わないと思います。

step3

STEP4

どう言う事をやるのか良く見て観察して下さい、実を言うとここにコードを掲載する時はもうすでに実行して関数の振る舞いを確認済みです。

step4

STEP5

取りあえず簡単にツリーを組み込みました、さてこれから説明しますがコードは結構多いですよ、是非理解して貴方の技にしてください。その価値は十分に有ります。

このフォルダーは現在の起動アプリケーションノフォルダー内を展開しています、解ってしまえばこんなのは非常に簡単なんです、このコードに能書きなんかいりません。最初に動いてくれさえすれば後は貴方の物です、デバッガを使い貴方が調査して理解して行けばいい事です、私もそのように先輩たちから盗んで覚えたのですから。

step5

STEP6

フォームビューヘッダー内に記載します。

step6

STEP7

フォームビューヘッダー内に記載します。

step7

STEP8

ドキュメントクラスヘッダー内に記載

step8

STEP9

メインフレームビューCPP 内に記載

step9

STEP10

ドキュメントクラスヘッダー内に記載します

step10

STEP11

メインフレームCPP 内に記載します

step11

STEP12

メインフレームCPP 内に記載します

step12

STEP13

メインフレームCPP 内に記載します

step13

STEP14

メインフレームCPP 内に記載します

step14
ツリー表示 半端完成