CWindowにメニューを実装する・・・。
ただ、メニューの表示自体はリソースファイルに定義するだけでできるので、加えてOnCommandハンドラと、それぞれのメニュー項目のコマンドハンドラを実装する・・・。
resource.hに、
リソースID番号・・・。
OnCommand.rcに、
メニューリソースの定義を書く・・・。
Window.hに、
OnCommandと各メニュー項目ごとのハンドラを用意・・・。
更新ハンドラは、いまのところ不要・・・。
OnItem1_1は、
"Item1-1"と表示・・・。
OnItem1_2~OnItem3_3も同様に・・・。
OnCommandは、
switch-case文で、LOWORD(wParam)の値で振り分ける・・・。
で、この場合ならID_ITEM_1_1なので、OnItem1_1を呼び、TRUEを返す・・・。
これをItem3-3の分まで書く・・・。
どれでもない場合は、
FALSEを返す・・・。
DynamicWindowProcに、
WM_COMMAND時の処理を追加・・・。
OnCommandがTRUEなら、0を返す・・・。FALSEなら0以外、つまり1を返す・・・。
(OnCommandの戻り値の真偽値とWM_COMMANDの戻り値の真偽値が逆なので注意!)
メニューが表示されてるので、
たとえばItem3-3を選択すると、
このように表示される・・・。
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/OnCommand/src/OnCommand/OnCommand/WinMain.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/OnCommand/src/OnCommand/OnCommand/Application.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/OnCommand/src/OnCommand/OnCommand/Application.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/OnCommand/src/OnCommand/OnCommand/Window.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/OnCommand/src/OnCommand/OnCommand/Window.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/OnCommand/src/OnCommand/OnCommand/resource.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/OnCommand/src/OnCommand/OnCommand/OnCommand.rc