MFCを使用して作成されたWindowsで実行されているアプリケーションがあります。メニュー項目の有効/無効状態は、多くの条件に依存します。たとえば、条件Aが満たされている場合、または条件Bが満たされている場合はメニュー項目を有効にする必要がありますが、AとBの両方が同時にTRUEの場合は無効にする必要があります。これをコードでどのようにモデル化するのですか?ある種のステートマシンを使うべきだと思いますが、私のステートマシンには状態が多すぎるようです。そのような問題を処理する一般的な方法は何ですか?上記は単なる例であり、このような条件はさらに多くなることに注意してください。また、メニューを常に有効にして、ユーザーがメニューを押したときにエラーメッセージを表示するオプションは、メニューを無効にする必要があるため存在しません。
明確にするために、私はMFCでメニュー項目を無効にする方法を探していません。多くの相互依存状態が関係している場合に、メニュー項目を有効/無効にするかどうかを決定する最良の方法を探しています。