Aoi #6 メニューの設置(動的に作成する場合)

#5では、ウィンドウクラスに静的にメニューリソースを指定していた・・・。
今回は動的にメニューを作成して、ウィンドウに設置したい場合・・・。

MenuBar.hを追加し、

メニューハンドルと、設置するウィンドウハンドルをもつメニューバーオブジェクトを定義・・・。
LoadMenu、SetMenuなどの設置に使う関数、メニューが選択された時の独自ハンドラOnCommandMenuItem・・・。

MenuBar.cppは、それぞれ、LoadMenu、SetMenuを呼べるように・・・。
LoadMenuは以前作った時とは引数を変えている・・・。
OnCommandMenuItemは今回は使わない・・・。

MenuWindow.hには、CMenuBarオブジェクトm_pMenuBarや、デストラクタ、OnCreate、OnCommandを追加・・・。

メニュー指定のRegisterClassはコメントアウトして、

デストラクタで解放、

OnCreateでメニューのロードとセット・・・。
OnCommandはまだ使わない・・・。

Window.hに大元のOnCommandを追加・・・。
CMenuWindowのは、これのオーバーライド・・・。

なにもしない・・・。

WM_COMMANDでOnCommand・・・。
三項演算子で、TRUEだと0を返すようにしている・・・。

f:id:BG1:20170120160544p:plain

これでもメニューでた・・・。

・メニューの設置(動的に作成する場合) · bg1bgst333/Aoi@1c42c42 · GitHub