OnCmdMsg ハンドラー

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

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

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

参照

概念

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