CMenu::EnableMenuItem

CMenu::EnableMenuItemで、メニュー項目の有効化や、無効化や、グレーアウトをセットする。

CMenu クラス | Microsoft Learn
EnableMenuItem: 日々題

resource.hは、

項目4つ。
CMenu.rcは、

こうする。
CFrameWnd_.hは、

こうして、CFrameWnd_.cppは、

こうする。
m_bAutoMenuEnableをFALSEにするのと、CFrameWnd_::OnUpdateItem1_4の中身をコメントアウトするのがポイント。

Item1-1を押すと、
Item1-1を押すと、

Item1-1を押すと、

Item1-4が無効化された。
Item1-4が無効化された。

Item1-4が無効化された。
Item1-2を押すと、

Item1-4が有効になったので、
Item1-4が有効になったので、

Item1-4が有効になったので、
Item1-3を押すと、

Item1-4がグレーアウトした。
Item1-4がグレーアウトした。

Item1-4がグレーアウトした。
無効とグレーアウトの違いがわからないけど。

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