ビュー切り替え(続1)

STEP13

フォームビューの数は何枚でも可能です、10枚でも100枚でも御自由にして下さい。

step13

STEP14

この構造体はビューを管理します。現在と過去を保持してビューの切り替えを判定します。同一ペインに再設定は禁止ですから未然に防ぐ管理を行います

step14

STEP15

初期化で画面の分割方法を確定します。

step15

STEP16

まだコードは記載していませんがここで動的にビューをシナリオに沿い動的に切り替えて行きます。此処でメッセージがどの様に伝わるのかしっかりと習得しましょう。

step16

下記画像は切替要求信号が流れる順序でコードを並べました。              #define ID_CHECK_ACTION (WM_USER + 100)に注意して下さい。この位置即ちドキュメントヘッダー内にオフセット+100して定義しているIDがメッセージ発行IDです、このメッセージが発行されると項目12行が受け取り次に18行目が起動され画面の切り替え処理に移行します。ここで項目2行~4はドキュメントクラスにその他はメインフレーム.CPPに記載して下さい。

step16-1

STEP17

下記に示した画像の関数これはメッセージマップにも記載が有りません、又呼び出し元も定義されていません、意味あるの?と皆さん思いますよねでもですね!これが無いと他のクラスからUpdateAllVew()が発行されても受けれない非常に重要な関数なんです。昔のC言語の時はデバッグが非常に楽だったのでしょうが今はデバッガーで追っかけると溜息が出るほど奥が深いのです。ですからどうしてもウインドウズの動きを知らなければデバッグも出来ないんです(ブレークを掛ければキチンと止まりますよ!)。

step17

STEP18

上記の関数を呼び出すのはドキュメントクラスのUpdateAllVewだけなんです、稼働されている全てのフレームビューにメッセージが届く仕掛けです、え!こんな事を誰が理解出来るんだ!よ!ですけれど、でもしょうがないそうなんですから。

step18

次にツリコントロールを先にこの画面に組み込みます、コーヒでも飲み一休みしてからご覧ください。