| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

MFC 単純なドキュメント-ビューアプリケーションの作成

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

MFC 単純なドキュメント-ビューアプリケーションの作成

概要

派生ドキュメントクラスのヘッダーファイル内に宣言を行う

  • これらのデータメンバはアプリケーション内での一時的なデータ記憶場所となる
  • データメンバをパブリックにするか、派生ビュークラスをドキュメントクラスのフレンドとして宣言することができる

派生ビュークラスの中でOnInitialUpdate仮想関数をオーバーライドする

  • ドキュメントデータが初期化されるかディスクから読み出された後でこの関数を呼び出す
  • OnInitialUpdateはビューを更新して、現在のドキュメントデータが反映されるようにする

派生ビュークラスからドキュメントにアクセス

  • 派生ビュークラスの中でウィンドウメッセージハンドラ、コマンドメッセージハンドラ、OnDraw関数それぞれが、GetDocumentを使ってドキュメントオブジェクトにアクセスすることで、ドキュメントデータメンバを直接読み書きできるようにすうr。

イベントシーケンス

アプリケーションの開始

  1. CMyDocumentオブジェクトの生成
  2. CMyViewオブジェクトの生成
  3. ビューウィンドウの生成
  4. CMyView::OnCreateの呼び出し
  5. CMyDocument::OnNewDocumentの呼び出し
  6. CMyView::OnInitialUpdateの呼び出し
    • ビューオブジェクトの初期化
    • ビューウィンドウの無効化
    • CMyView::OnDrawの呼び出し

ユーザーによるデータの編集

  1. CMyView関数がCMyDocumentデータメンバを更新

ユーザがアプリケーションを終了

  1. CMyViewオブジェクトの破棄
  2. CMyDocumentオブジェクトの破棄

CFormViewクラス

  • モードレスダイアログウィンドウの多くの機能を備えている
  • CDialogから派生するクラスと同様、フレームの特性や複数のコントロールを定義するダイアログリソースに関連付けられる
  • 自分自身に含まれるコントロールから通知メッセージを直接受け取る
  • コマンドメッセージはアプリケーションフレームワークから受け取る
  • CDailogとは異なり、フレームのメインメニューやツールバーから簡単にビューを制御できる