リフレクション メッセージ用のメッセージ ハンドラーの定義

新しい MFC コントロール クラスを作成したら、そのクラスのメッセージ ハンドラーを定義できます。 リフレクトメッセージ ハンドラーを使用すると、親がメッセージを受信する前に、コントロール クラスが独自のメッセージを処理できます。 MFC CWnd::SendMessage 関数を使用して、コントロールから親ウィンドウにメッセージを送信できます。

この機能を使用すると、たとえば、親ウィンドウに依存せずに再描画するリスト ボックスを作成できます (所有者が描画)。 反映されたメッセージの詳細については、「リフレクトメッセージの処理」を参照してください

同じ機能を 持つ ActiveX コントロール を作成するには、ActiveX コントロールのプロジェクトを作成する必要があります。

Note

次に説明するように、クラス ウィザードを使用して ActiveX コントロールの反映されたメッセージ (OCM_Message) を追加することはできません。 これらのメッセージは手動で追加する必要があります。

クラス ウィザードから反映されたメッセージのメッセージ ハンドラーを定義するには

  1. リスト、鉄筋コントロール、ツールバー、ツリー コントロールなどのコントロールを MFC プロジェクトに追加します。

  2. クラス ビューで、コントロール クラスの名前をクリックします。

  3. クラス ウィザード、コントロール クラス名がクラス名の一覧に表示されます。

  4. [メッセージ] タブをクリックして、コントロールに追加できる Windows メッセージを表示します。

  5. ハンドラーを定義する対象の反映されたメッセージを選択します。 リフレクトメッセージは等号 (=) でマークされます。

  6. クラス ウィザードの右側の列のセルをクリックして、ハンドラーの名前候補を HandlerName の追加>として<表示します。 (たとえば、=WM_CTLCOLOR メッセージ ハンドラーは、CtlColor の追加>を提案します<)。

  7. 推奨される名前をクリックして受け入れます。 ハンドラーがプロジェクトに追加されます。

  8. メッセージ ハンドラーを編集または削除するには、手順 4 から 7 を繰り返します。 編集または削除するハンドラー名を含むセルをクリックし、適切なタスクをクリックします。

関連項目

マップ (関数にメッセージを)
コード ウィザードを使用した機能の追加
クラスの追加
メンバー関数の追加
メンバー変数の追加
仮想関数のオーバーライド
MFC メッセージ ハンドラー
クラス各部へのジャンプ