ユーザー インターフェイス オブジェクトとコマンド ID
メニュー項目、ツール バーのボタン、およびアクセラレータ キーは、コマンドを生成できる "ユーザー インターフェイス オブジェクト" です。 このようなユーザー インターフェイス オブジェクトにはそれぞれ ID があります。 ユーザー インターフェイス オブジェクトをコマンドに関連付けるには、オブジェクトとコマンドに同じ ID を割り当てる必要があります。 「メッセージ」で説明しているように、コマンドは特別なメッセージとして実装されます。 次の "フレームワークにおけるコマンド" の図は、フレームワークでコマンドを管理する方法を示しています。 ユーザー インターフェイス オブジェクトが ID_EDIT_CLEAR_ALL
などのコマンドを生成すると、アプリケーション内のオブジェクトの 1 つによってコマンドが処理されます。次の図では、ドキュメント オブジェクトの OnEditClearAll
関数がドキュメントのメッセージ マップを介して呼び出されます。
フレームワークにおけるコマンド
次の "フレームワーク内のコマンド更新" の図は、メニュー項目やツール バー ボタンなどのユーザー インターフェイス オブジェクトを MFC で更新する方法を示しています。 メニューがドロップダウンする前、またはツール バー ボタンの場合はアイドル ループ中に、MFC によって更新コマンドがルーティングされます。 次の図では、ドキュメント オブジェクトが更新コマンド ハンドラー OnUpdateEditClearAll
を呼び出して、ユーザー インターフェイス オブジェクトを有効または無効にします。
フレームワーク内のコマンド更新