次の方法で共有


コマンドの振り分け (ルーティング)

コマンドを使用する必要があります。これは、タスクがプロパティ ウィンドウを使用してハンドラー関数に限られますとコマンド間のメッセージ マップのアタッチ。 また、最もコマンド ハンドラーを記述する必要があります。

Windows メッセージは通常はメイン フレーム ウィンドウに送信されますが、コマンド メッセージは、他のオブジェクトにルーティングされます。 フレームワークはコマンドターゲット オブジェクトの標準シーケンス、そのうちの一つは、コマンドをコマンドのハンドラーが必要になりますルーティングします。 各コマンドターゲット オブジェクトは受信メッセージを処理するメッセージ マップをチェックします。

異なるコマンドターゲット クラスは異なる時点で独自のメッセージ マップをチェックします。 通常、クラスの特定のオブジェクトにコマンドをコマンドで、最初の可能性をルーティングします。 これらのオブジェクトはいずれもコマンドを処理しなければ、元のクラスは、独自のメッセージ マップをチェックします。 その後、そのハンドラーを使用できない場合は、コマンドには、さらにコマンドの対象をルーティングすることがあります。 各クラスがこの処理をどのように構成する方法を次の表 標準コマンド ルーティング。 コマンドの対象がコマンドをルーティングする一般に実行が次の操作:

  1. 現在アクティブな子のコマンドターゲット オブジェクトです。

  2. それ自体に。

  3. 他のコマンドの対象になります。

このルーティングの機能がどのように高いかどうか。 ハンドラーがコマンドに応答すると比べて、ルーティングのコストは高くありません。 ユーザーがユーザー インターフェイス オブジェクトと対話するときにフレームワークによってコマンドが生成されることに注意してください。

標準コマンド ルーティング

この型のオブジェクトがコマンドを受け取るとき。..

これは、自身を指定し、他のコマンドターゲットがこの順序でコマンドを処理するように変換する:

MDI フレーム ウィンドウ (CMDIFrameWnd)

  1. 実行中の CMDIChildWnd

  2. このフレーム ウィンドウ

  3. アプリケーション (CWinApp オブジェクト)

ドキュメント フレーム ウィンドウ (CFrameWndCMDIChildWnd)

  1. アクティブなビュー

  2. このフレーム ウィンドウ

  3. アプリケーション (CWinApp オブジェクト)

ビュー

  1. このビュー

  2. ビューへのドキュメントの添付

Document

  1. このドキュメント

  2. ドキュメントへのドキュメント テンプレートの添付

ダイアログ ボックス

  1. このダイアログ ボックス

  2. ダイアログ ボックスを所有するウィンドウ

  3. アプリケーション (CWinApp オブジェクト)

上の表の記述の第 2 列の一つと番号が他のオブジェクト、文書、最初の列の対応する項目を参照する場合。 たとえば、前後のドキュメント ビューへのコマンド 2 番目の列を読み込むときと、ルーティングするために最初の列の「docs」エントリを参照してください。

参照

概念

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