【MFC アプリケーションの初期化処理についての解説。】

先ほどの関数、InitInstance であるが、ここで解説を行う事にする。

//SetRegistryKey(_T("LocalAppWizard Generated Applications."));
LoadStdProfileSettings(0);

まず、上記の部分。SetRegistryKey は、使用するレジストリの指定。
これを指定すると、アプリケーションの初期設定などを、レジストリへ保存するようになる。
便利な機能だが、今回初期設定の保存を行うつもりは無いので、コメントアウトしておこう。

LoadStdProfileSettings は、早い話が、「最近使ったファイル」の読み込みである。

引数に0(ゼロ) を渡すと、「最近使ったファイル」の管理機能を停止する。
今回はこれで問題あるまい。

むろん、必要に応じて、これらの機能を使用する事自体は、オススメだ。


次に、実際にウインドウを作る。

CMainFrame *pFrame = new CMainFrame;

上記の new CMainFrame; という所で、ウインドウクラスが作られる。


そうしたら、リソースからメニューやアイコンを読み出す。

if (!pFrame->LoadFrame(IDR_MAINFRAME, WS_VISIBLE|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX)) {
return FALSE;
}

LoadFrame は、リソースからウィンドウ構造を読み出すMFC関数。
自分で作らなくて良いので、ラクチンだ。



最後に、できあがったウィンドウを表示させる。

// Save the main window pointer.
m_pMainWnd = pFrame;
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();

アプリケーションクラスのメンバ変数である、m_pMainWnd へ、
出来上がったウィンドウクラスへのポインタを保存し、
その後それを表示させている。

ShowWindow UpdateWindow いずれも、MFC 関数である。
詳細は、MicroSoft社 のマニュアルを参照されたい。


これで、ウィンドウができあがった。