在子菜单项上使用EnableMenuItem

时间:2013-01-14 22:04:03

标签: c windows winapi user32

我有一个旧的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函数是否有任何问题?

1 个答案:

答案 0 :(得分:0)

According to MSDN您需要致电DrawMenuBar()以获取用户界面,以反映菜单状态的变化。