CMenu::FromHandle

CMenu::FromHandleで、メニューハンドルからCMenuオブジェクトポインタを取得する。

CMenu クラス | Microsoft Learn

CWinApp_.cppは、

CFrameWndには、m_hMenuDefaultというデフォルトメニューハンドルのメンバがあるが、LoadFrameじゃないとセットされない。
CFrameWnd_.cppは、

CMenu::FromHandleでm_hMenuDefaultを渡すと、CMenuオブジェクトポインタが取得できる。
あとはそれを使って差し替え。

押すと、
押すと、

押すと、

差し替わる
差し替わる

差し替わる。

Sample/mfc/CMenu/FromHandle/src/CMenu at master · bg1bgst333/Sample · GitHub