我有一些遗留代码,出于某种原因,在启动时启用或禁用菜单项。我的问题是,怎么样?有没有办法在不调用EnableMenuItem()函数的情况下执行此操作? MFC是否有办法与资源设置相反?
我还不知道为什么当最后一个子窗口关闭时,为什么当前的SDI被禁用或重新启用。这可能是因为我不能很好地理解框架,我认为我已经阅读了所有文档here。
答案 0 :(得分:1)
使用MFC时,如果菜单项没有ON_UPDATE_COMMAND_UI处理程序或ON_COMMAND处理程序,则可以禁用菜单项 - 根据this MSDN article,
如果框架在此期间未找到ON_UPDATE_COMMAND_UI条目 命令路由,它会自动启用用户界面对象if 在某个地方有一个具有相同命令ID的ON_COMMAND条目。 否则,它会禁用用户界面对象 ... 可以禁用用户界面对象的默认禁用。 有关更多信息,请参阅MFC参考
中的类CFrameWnd的m_bAutoMenuEnable成员
[这适用于菜单项和工具栏项]