OnCmdMsg ハンドラー
コマンドを転送するとき、各コマンド ターゲットは、次のコマンド ターゲットのメンバー関数 OnCmdMsg を呼び出します。 コマンド ターゲットは、自分でコマンドを処理できるかどうかを OnCmdMsg で調べ、処理できないときは別のコマンド ターゲットにコマンドを転送します。
各コマンド ターゲット クラスでは、メンバー関数 OnCmdMsg をオーバーライドできます。 オーバーライドすると、コマンドを任意のターゲットに送ることができます。 たとえば、「標準のコマンド ルート」に示したように、フレーム ウィンドウはコマンドを必ず現在の子ウィンドウまたはビューに送ります。
CCmdTarget の OnCmdMsg の既定の動作では、コマンド ターゲット クラスのメッセージ マップを使用して、受け取ったコマンド メッセージのハンドラー関数を探します。これは、標準メッセージを検索するときと同じ方法です。 検索に成功すると、ハンドラーが呼び出されます。 メッセージ マップの検索については、「フレームワークのメッセージ マップ検索方法」で説明します。