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