0

我有一些遗留代码,出于某种原因,菜单项在启动时被启用或禁用。我的问题是,怎么做?有没有办法在不调用 EnableMenuItem() 函数的情况下做到这一点?有没有办法让 MFC 做与资源设置相反的事情?

当最后一个子窗口关闭时,为什么当前的那些在 SDI 中被禁用或重新启用,我也不知所措。这可能是因为我对框架的理解不够好,我认为我已经阅读了这里的所有文档。

4

1 回答 1

1

使用 MFC,如果菜单项既没有ON_UPDATE_COMMAND_UI处理程序也没有ON_COMMAND处理程序,则可以禁用菜单项——根据这篇 MSDN 文章

如果框架在命令路由期间没有找到 ON_UPDATE_COMMAND_UI 条目,如果某处存在具有相同命令 ID 的 ON_COMMAND 条目,它会自动启用用户界面对象。否则,它会禁用用户界面对象...可以禁用用户界面对象的默认禁用。有关详细信息,请参阅 MFC 参考中的 CFrameWnd 类的m_bAutoMenuEnable成员

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

于 2014-08-26T15:04:51.230 回答