MFC[edit]

Devel[edit]

新規プロジェクト[edit]

ドキュメントクラス[edit]

ビュークラス[edit]

メインフレームクラス[edit]

アプリケーションクラス[edit]

「ファイル」→「開く」 // 通常の場合[edit]
	CXXXApp::OnFileOpen() → OpenDocumentFile(newName)   ファイルのオープン
	CXXXDoc::Serialize() [→ UpdateAllViews(NULL)]     ファイルの入出力
	ChildFrame
	CXXXView::OnDraw()                                  表示

MDIの作られる順序[edit]

MDIの破棄されるれる順序[edit]

DirectX9用ライブラリ

	winmm.lib d3d9.lib d3dx9.lib dxerr9.lib dxguid.lib 

DirectX Input

	dinput8.lib 

デバッグ用ライブラリ
MagaDbg.h
MagaDbg.lib

コンパイラ定義指定 MAGADGB

・リソースのメニューを作る.(ID)
  「リソースビュウ」の「Menu」からメニュー用のCXXXAppのメッセージハンドラを登録.

・「表示」→「クラスウィザード」または,「リソースビュウ」の「Menu」の右マウス
 ボタンで「クラスウィザード」を選び,CXXXAppにメッセージ処理用関数を登録する.

	(例:ON_COMMAND(ID_FILE_WIZ3D, OnFileWiz3d)) 

 処理関数のあるファイル内では Resource.h をインクルード

・新しいウィンドウを作る場合は,CXXXAppでテンプレート用変数を用意.

・新しいクラスの作成

	ワークスペースの「クラス表示」から「クラスの新規作成」を選び,ドキュメントクラスと
	ビュウクラスを生成(基本クラスを指定する)

  基本クラスは CDocument, CView などを選ぶ.

		または
	「クラスウィザード」を選び,「クラスの追加」→「新規」で新しいクラスを作る.
	

・クラスを ExClass からの派生に変更

・CXXXAppのテンプレート定義とメッセージハンドラの関数(例:OnFileWiz3d())の内容を書く.

・ドキュメントクラスとビュウクラスの内容を書く

・ドキュメントクラスに仮想関数 OnOpenDocument() または OnNewDocument() を書く

	OnOpenDocument() はクラスウィザードで作成 
	CExDocument
		// データを既に持っている場合.hasViewData==TRUE
		doc.OnNewDocument()  : MakeViewData();
		
		// ファイルをオープンしてデータを読み込む.
		doc.OnOpenDocument() : ReadDataFile() → MakeViewData()
	ExMSGraph<Word>	msGraph;   // 読み込みデータ(既にもっているデータ).ReadDataFile() で作る.
	ExCmnHead	cmnHead;   // 表示用の View に渡すデータ.MakeviewData() で作る.

・ビュウクラスに仮想関数 OnInitialUpdate() を書く.

	OnInitialUpdate() はクラスウィザードで作成 

処理の流れ:
例:ID_FILE_WIZ3D → OnFileWiz3d() → CreateDocFrmView() → initialDocView() → doc.OnNewDocument() or doc.OnOpenDocument()

                                                                              → view.OnInitialUpdate()
                                  			 → frame.ShowWindow() → view.OnDraw()
                                                        → frame.SetFocus() 
                                                        → タイマー作動
				   → CreateDocFrmViewError()
                 → ループバック

イベント処理の追加

クラスビュー → クラスを右クリック → プロパティ → メッセージボタン

アプリケーションクラス

	アプリケーション用のドキュメントテンプレートを登録  CreateDocFrmView()
	
	// Doc, Viewクラスの初期化
	rslt = initialDocView(pdoc, pviw, fname);   	
		doc->OnNewDocument()  or  doc->OnOpenDocument(fname)
		view->OnInitialUpdate()
	// Viewクラスの表示	
		view->ShowWindow(m_nCmdShow);
	必要ならタイマースタート or 書き換え用 OnDraw()が随時呼ばれる

トップ   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS