默认情况下启用或禁用菜单项。为什么?

时间:2014-08-26 14:30:51

标签: menu mfc sdi

我有一些遗留代码,出于某种原因,在启动时启用或禁用菜单项。我的问题是,怎么样?有没有办法在不调用EnableMenuItem()函数的情况下执行此操作? MFC是否有办法与资源设置相反?

我还不知道为什么当最后一个子窗口关闭时,为什么当前的SDI被禁用或重新启用。这可能是因为我不能很好地理解框架,我认为我已经阅读了所有文档here

1 个答案:

答案 0 :(得分:1)

使用MFC时,如果菜单项没有ON_UPDATE_COMMAND_UI处理程序或ON_COMMAND处理程序,则可以禁用菜单项 - 根据this MSDN article

  

如果框架在此期间未找到ON_UPDATE_COMMAND_UI条目   命令路由,它会自动启用用户界面对象if   在某个地方有一个具有相同命令ID的ON_COMMAND条目。   否则,它会禁用用户界面对象   ...   可以禁用用户界面对象的默认禁用。   有关更多信息,请参阅MFC参考

中的类CFrameWnd的m_bAutoMenuEnable成员

[这适用于菜单项和工具栏项]