1

我有一个旧的 MFC 应用程序,我正在尝试禁用菜单项。

我有一个具有典型结构的菜单:

File
 - Open
 - Save
 - Close
Edit
 - Cut
 - Copy
 - Paste

使用以下命令:

EnableMenuItem(hMenu,ID_FILE, MF_BYCOMMAND | MF_GRAYED);

我可以使顶级菜单项的菜单命令变灰。但是,如果我这样做

EnableMenuItem(hMenu,ID_PASTE, MF_BYCOMMAND | MF_GRAYED);

我不能灰掉任何子菜单项。如果我得到子菜单句柄并将其传递给EnableMenuItem,那对我没有好处。SetMenuItemInfo如果我使用任何一个也无济于事

关于如何禁用子菜单项的任何想法?EnableMenuItem 函数有什么问题吗?

4

1 回答 1

0

根据 MSDN,您需要调用DrawMenuBar()以获取 UI 以反映对菜单状态的更改。

于 2013-01-15T00:43:32.953 回答