メッセージの送信と受信
フレームワークがの応答を送信するプロセスの一部を検討します。
ほとんどのメッセージは、プログラムのユーザー操作になります。コマンドは、メニュー項目またはツールバー ボタンのマウス クリックまたはアクセラレータのキーストロークによって生成されます。ユーザーは、ウィンドウのメッセージを、たとえば、ペインを移動またはサイズを変更すると生成します。他のウィンドウ メッセージはペインがフォーカスを取得または失われると、プログラムの起動または終端のようなイベントなどが発生したときに送信されます。コントロール通知メッセージは、ダイアログ ボックスのボタンまたはリストボックス コントロールなどのコントロールでマウス クリックなどのユーザー操作によって生成されます。
クラス CWinApp の 実行 のメンバー関数は、メッセージを検索し、適切なペインにディスパッチされます。ほとんどのコマンド メッセージは、アプリケーションのメイン フレーム ウィンドウに送信されます。クラス ライブラリによって定義された WindowProc はメッセージを取得し、受信メッセージのカテゴリに応じて、異なる方法でパスを指定します。
現在は、プロセスの受信側の一部を検討します。
メッセージの最初のレシーバーは、ペイン オブジェクトである必要があります。ウィンドウ メッセージは通常、そのペイン オブジェクトによって直接処理されます。通常、アプリケーションのメイン フレーム ウィンドウに送信メッセージに、コマンド。 コマンド ルーティングで説明するコマンドターゲットのチェーンにルーティングされます。
メッセージまたはコマンドを受け取ることができる各オブジェクトにハンドラーの名前とメッセージまたはコマンドを組み合わせる独自のメッセージ マップがあります。
コマンドターゲットのオブジェクトはメッセージまたはコマンドを受け取ると、一致をメッセージ マップを検索します。メッセージのハンドラーを見つける、ハンドラーを呼び出します。詳細については、メッセージ マップが方法に関する情報を取得するか、 フレームワークがメッセージ マップを取得する方法を参照してください。図 フレームワークのコマンドを再度参照してください。