CWnd::DrawMenuBar

CWnd::DrawMenuBarで、メニューバーを描画する。

CWnd クラス | Microsoft Learn

CWinApp_.cppは、

pFrameWnd_->LoadFrameでIDM_MAINMENUをロード。
CFrameWnd_.cppは、

// ハンドラOnItem1_1()
void CFrameWnd_::OnItem1_1(){	// メニュー項目Item1_1のコマンドハンドラ

	// メニュー項目の追加.
	CMenu cMenu;
	cMenu.Attach(m_hMenuDefault);
	cMenu.AppendMenu(MF_ENABLED | MF_STRING, 102, _T("Item2"));
	cMenu.Detach();

}

これだけだと、

押しても
押しても

押しても、

変わらないように見える。
変わらないように見える。

変わらないように見える。
実際には、カーソルをItem1の右横付近に移動すると、Item2出てくるけど。

こうすると、

押すと、
押すと、

押すと、

すぐItem2出てくる。
すぐItem2出てくる。

すぐItem2出てくる。
これまでWin32APIのDrawMenuBar使ってたけど、CWnd::DrawMenuBarでも出来る。

Sample/mfc/CWnd/DrawMenuBar/src/CWnd at master · bg1bgst333/Sample · GitHub