読者です 読者をやめる 読者になる 読者になる

CFrameWnd::LoadFrame

MFC Sample

CFrameWnd::LoadFrameは、リソースファイルからフレームの情報をロードし、それを元にウィンドウを作成するメンバ関数・・・。

CFrameWnd::LoadFrame

フレームとは、フレームウィンドウを構成するメニュー、アイコン、アクセラレータキーなどの情報・・・。
CFrameWndはそもそもこういうフレームを持つウィンドウを作成するクラス・・・。
で、フレームの情報はリソースファイルに保存しておけるので、LoadFrameでそれを読み込んでフレームウィンドウを作る・・・。

LoadFrame.rcに、

と、メニュー、アイコン、アクセラレータキーを定義しておく・・・。
で、そのすべてのリソースIDがIDR_MAINFRAMEとなっている・・・。
こうすることで、メニュー、アイコン、アクセラレータキーを、IDR_MAINFRAMEというキーワードで一括ロードできる・・・。

CWinApp_.cppで、

newで生成して、LoadFrameでIDR_MAINFRAMEをロードし、ShowWindowで表示・・・。

f:id:BG1:20150606150023p:plain

アイコン、メニューが表示されている・・・。
メニュー項目が有効になっていないものの、アクセラレータキー情報もロードされている・・・。
ウィンドウのタイトルが表示されていないが、それについては後で扱う予定・・・。

Sample/CWinApp_.h at master · bg1bgst333/Sample · GitHub
Sample/CWinApp_.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/LoadFrame.rc at master · bg1bgst333/Sample · GitHub