我有使用 MFC 编写的在 Windows 上运行的应用程序。菜单项的启用/禁用状态取决于很多条件。例如,如果满足条件 A 或满足条件 B,我必须启用菜单项,但如果 A 和 B 同时为 TRUE,则应禁用该菜单项。我们如何在代码中对此进行建模?我想我应该使用某种状态机,但我的状态机似乎包含太多状态。处理此类问题的一般方法是什么?请注意,以上只是一个例子,这样的条件还有很多。此外,始终启用菜单并在用户按下它时显示错误消息的选项不存在,因为我必须禁用菜单。
澄清一下,我不是在寻找如何禁用 MFC 中的菜单项,而是在寻找在涉及许多相互依赖的状态时决定是否启用/禁用菜单项的最佳方法。