Aoi #10 メインウィンドウとメインアプリケーションの定義

そろそろ、ちゃんとメインウィンドウとメインアプリケーションを定義しようと思う・・・。

MainApplication.hを追加して、

Aoiでは、CStandardApplicationをベースにCMainApplicationを定義・・・。
コンストラクタとInitInstanceをオーバーライド・・・。

MainApplication.cppでは、

InitInstanceでは、CStandardApplication::InitInstance、CMainWindow::RegisterClass、そしてCMainWindowの生成と表示・・・。

MainWindow.hは、

CMainWindowは、CStandardWindowベース・・・。
m_pCustomControlを持ち、RegisterClass、コンストラクタ、デストラクタ、Create、OnCreateをオーバーライド・・・。

MainWindow.cppでは、

ウィンドウクラスを"MainWindow"として、登録や生成をしている・・・。
また、OnCreateでm_pMenuBarとm_pCustomControlの生成・表示をしている・・・。
コンストラクタ・デストラクタはm_pCustomControlだけでいい・・・。
OnCreateは、オーバーライドなので、基底クラスメンバのm_pMenuBarもやる必要あり・・・。

StandardApplication.cppでは、

ウィンドウの生成・表示はもうやらなくていい・・・。

StandardWindow.hでは、

m_pCustomControlがなくなり、StandardWindow.cppからも、

コンストラクタ、デストラクタ、そしてOnCreateのカスタムコントロールの作成はなくなった・・・。
ただ、メニューバーの作成はオーバーライドなので残してもいい・・・。

最後にWinMain.cppは、

CMainApplicationに差し替える・・・。

f:id:BG1:20170127034434p:plain

まあ、表面上は変わらない・・・。

・メインウィンドウとメインアプリケーションの定義 · bg1bgst333/Aoi@ecd3f59 · GitHub