在MFC中,仅靠下列语句即可CMenu* menu = CMenu::FromHandle(m_wndMenuBar.GetDefaultMenu());
menu->GetSubMenu(1)->EnableMenuItem(1, MF_BYPOSITION | MF_DISABLED | MF_GRAYED);但是在Feature Pack中都完全没用,仅仅只对有子菜单的菜单项有用。
我又试了UPDATE_COMMAND_UI,还是没成功,有没有一种方法,能在通过点击一个菜单项使许多菜单都变灰呢?
顶层菜单变灰最好,如果不能,使多个不在同一顶层菜单下的子菜单项变灰也行。不知道我说清楚了没,比如说,就是在SDI对话框中,点击[文件]->[新建],就能把[文件]->[打开]和[编辑]->[撤销]都变灰。Thanks for the helps!
menu->GetSubMenu(1)->EnableMenuItem(1, MF_BYPOSITION | MF_DISABLED | MF_GRAYED);但是在Feature Pack中都完全没用,仅仅只对有子菜单的菜单项有用。
我又试了UPDATE_COMMAND_UI,还是没成功,有没有一种方法,能在通过点击一个菜单项使许多菜单都变灰呢?
顶层菜单变灰最好,如果不能,使多个不在同一顶层菜单下的子菜单项变灰也行。不知道我说清楚了没,比如说,就是在SDI对话框中,点击[文件]->[新建],就能把[文件]->[打开]和[编辑]->[撤销]都变灰。Thanks for the helps!
在该ID的UPDATE_COMMAND_UI中pCmdUI->Enable(FALSE);就行了~
对该ID的UPDATE_COMMAND_UI的pCmdUI->Enable操作,只能屏蔽这个菜单项,不能对其他的菜单项操作呢,这位仁兄有没有更好的办法?