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