【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社 のマニュアルを参照されたい。
これで、ウィンドウができあがった。