これまで、メニュー項目を選択した時のハンドラ処理は、CWindowのOnCommand、
そして、その下でメニュー項目ごとに定義したハンドラを呼ぶという構成にしていた・・・。
これだと、CWindowクラスが肥大化しそうなので、CMenuクラスにハンドラ処理を移設する・・・。
CWindow::OnCommandを、
こうした・・・。
HIWORD(wParam)で、メニューなのか、それともコントロールやアクセラレータキーなのかがわかるので、
0、つまりメニューなら、CMenuの新しいメンバ関数OnCommandMenuItemを呼ぶ・・・。
CMenu::OnCommandMenuItemの中では、
これまでどおり、リソースIDごとのハンドラを呼ぶ・・・。
このために、
リソースIDごとのコマンドハンドラもCMenuに移した・・・。
で、
変わらず、ハンドラ処理は行われる・・・。
https://github.com/bg1bgst333/Test/blob/master/winapi/CMenu/OnCommandMenuItem/src/OnCommandMenuItem/OnCommandMenuItem/WinMain.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CMenu/OnCommandMenuItem/src/OnCommandMenuItem/OnCommandMenuItem/Application.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CMenu/OnCommandMenuItem/src/OnCommandMenuItem/OnCommandMenuItem/Application.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CMenu/OnCommandMenuItem/src/OnCommandMenuItem/OnCommandMenuItem/Window.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CMenu/OnCommandMenuItem/src/OnCommandMenuItem/OnCommandMenuItem/Window.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CMenu/OnCommandMenuItem/src/OnCommandMenuItem/OnCommandMenuItem/Menu.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CMenu/OnCommandMenuItem/src/OnCommandMenuItem/OnCommandMenuItem/Menu.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CMenu/OnCommandMenuItem/src/OnCommandMenuItem/OnCommandMenuItem/resource.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CMenu/OnCommandMenuItem/src/OnCommandMenuItem/OnCommandMenuItem/OnCommandMenuItem.rc