次の方法で共有


OnCmdMsg ハンドラ

更新 : 2007 年 11 月

コマンドを転送するとき、各コマンド ターゲットは、次のコマンド ターゲットのメンバ関数 OnCmdMsg を呼び出します。コマンド ターゲットは、自分でコマンドを処理できるかどうかを OnCmdMsg で調べ、処理できないときは別のコマンド ターゲットにコマンドを転送します。

各コマンド ターゲット クラスでは、メンバ関数 OnCmdMsg をオーバーライドできます。オーバーライドすると、コマンドを任意のターゲットに送ることができます。たとえば、「標準のコマンド ルート」に示したように、フレーム ウィンドウはコマンドを必ず現在の子ウィンドウまたはビューに送ります。

CCmdTargetOnCmdMsg の既定の動作では、コマンド ターゲット クラスのメッセージ マップを使用して、受け取ったコマンド メッセージのハンドラ関数を探します。これは、標準メッセージを検索するときと同じ方法です。検索に成功すると、ハンドラが呼び出されます。メッセージ マップの検索については、「フレームワークのメッセージ マップ検索方法」で説明します。

参照

概念

フレームワークがハンドラを呼び出す方法