メニューウィンドウ(WindowsAPI)

メニューを載せたウィンドウCMenuWindowをメインウィンドウCMainWindowのベースとなるようにしてみる・・・。

MenuWindow.hのCMenuWindowのメンバに、

CMenuオブジェクトポインタm_pMenuを用意・・・。

SetMenuは、オリジナルのメニューセット関数・・・。

引数を使ってメニューをセットする・・・。
ポイントは、渡されたウィンドウハンドルhwndを使うこと・・・。

OnCreateの時点では、CMainWindowオブジェクトにウィンドウハンドルはセットされてないのでここの引数を使うようにする・・・。

SetMenuには、生成したCMainMenuオブジェクトを渡す・・・。そして、これの中でCMainMenuオブジェクトとhwndを使って、メニューセット処理が行われている・・・。

というわけで、

CMenuWindowを継承したCMainWindowはこれだけ・・・。

そして、CMainApplicationは、

変わらずにこんな感じ・・・。

f:id:BG1:20160527165945p:plain

メニューが表示された・・・。

https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/WinMain.cpp
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/Application.h
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/Application.cpp
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/MainApplication.h
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/MainApplication.cpp
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/Window.h
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/Window.cpp
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/MainWindow.h
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/MainWindow.cpp
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/MenuWindow.h
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/MenuWindow.cpp
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/Menu.h
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/Menu.cpp
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/MainMenu.h
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/MainMenu.cpp
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/resource.h
https://github.com/bg1bgst333/Test/blob/master/menu/class_menuwindow/winapi/src/CMenuWindow/CMenuWindow/CMenuWindow.rc